Get Smarty



Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty


{$smarty} reserved variable

The PHP reserved {$smarty} variable can be used to access several enviroment and request variables. The full list of them follows.

Request variables

The request variables such as $_GET, $_POST, $_COOKIE, $_SERVER, $_ENV and $_SESSION (see $request_vars_order and $request_use_auto_globals) can be accessed as demonstrated in the examples below:

Example 4.7. Displaying request variables

{* display value of page from URL ($_GET) *}

{* display the variable "page" from a form ($_POST['page']) *}

{* display the value of the cookie "username" ($_COOKIE['username']) *}

{* display the server variable "SERVER_NAME" ($_SERVER['SERVER_NAME'])*}

{* display the system environment variable "PATH" *}

{* display the php session variable "id" ($_SESSION['id']) *}

{* display the variable "username" from merged get/post/cookies/server/env *}



For historical reasons {$SCRIPT_NAME} can be accessed directly, although {$smarty.server.SCRIPT_NAME} is the proposed way to access this value.

<a href="{$SCRIPT_NAME}?page=smarty">click me</a>
<a href="{$smarty.server.SCRIPT_NAME}?page=smarty">click me</a>


The current timestamp can be accessed with {$}. The value reflects the number of seconds passed since the so-called Epoch on January 1, 1970, and can be passed directly to the date_format modifier for display. Note that time() is called on each invocation; eg a script that takes three seconds to execute with a call to $ at start and end will show the three second difference.

{* use the date_format modifier to show current date and time *}
{$|date_format:'%Y-%m-%d %H:%M:%S'}



You can access PHP constant values directly. See also smarty constants.

// the constant defined in php

Output the constant in a template with



Template output captured via the built-in {capture}..{/capture} function can be accessed using the {$smarty.capture} variable. See the {capture} page for more information.


{$smarty.config} variable can be used to refer to loaded config variables. {$} is a synonym for {#foo#}. See the {config_load} page for more info.

{$smarty.section}, {$smarty.foreach}

The {$smarty.section} and {$smarty.foreach} variables can be used to refer to {section} and {foreach} loop properties respectfully. These have some very useful values such as .first, .index, etc.


Returns the name of the current template being processed. The following example shows the container.tpl and the included banner.tpl with {$smarty.template} within both.

<b>Main container is {$smarty.template}</b>
{include file='banner.tpl'}

will output

<b>Main page is container.tpl</b>


Returns the version of Smarty the template was compiled with.

<div id="footer">Powered by Smarty {$smarty.version}</div>

{$smarty.ldelim}, {$smarty.rdelim}

These variables are used for printing the left-delimiter and right-delimiter value literally, the same as {ldelim},{rdelim}.

See also assigned variables and config variables

No comments for this page.


Sponsors [info]