Get Smarty


Donate Bitcoin Bitcoin

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

Buy cheap eyeglasses from and save up to 80%.

Buy prescription glasses from and save.

Cheap Glasses Now On Sale at Starts At $7.95.

Where to buy discount wedding dresses and cheap smart dresses free shipping -

Find Wedding Dresses Online at Canada from

Brautkleider auf

Find free files to download on

Looking For Affordable Wedding Dresses 2015 at Best Prices On

Shop high quality cheap prom dresses on

Buy New Arrival Cheap Prom Dresses 2015 at JDBRIDAL Prom Dress Store


Chapter 4. Variables

Smarty has several different types of variables. The type of the variable depends on what symbol it is prefixed or enclosed within.

Variables in Smarty can be either displayed directly or used as arguments for functions, attributes and modifiers, inside conditional expressions, etc. To print a variable, simply enclose it in the delimiters so that it is the only thing contained between them.

Example 4.1. Example variables


{$product.part_no} <b>{$product.description}</b>


<body bgcolor="{#bgcolor#}">



An easy way to examine assigned Smarty variables is with the debugging console.

Variables assigned from PHP

Assigned variables that are referenced by preceding them with a dollar ($) sign.

Example 4.2. Assigned variables

PHP code


$smarty = new Smarty();

$smarty->assign('firstname', 'Doug');
$smarty->assign('lastname', 'Evans');
$smarty->assign('meetingPlace', 'New York');



index.tpl source:

Hello {$firstname} {$lastname}, glad to see you can make it.
<br />
{* this will not work as $variables are case sensitive *}
This weeks meeting is in {$meetingplace}.
{* this will work *}
This weeks meeting is in {$meetingPlace}.


This above would output:

Hello Doug Evans, glad to see you can make it.
<br />
This weeks meeting is in .
This weeks meeting is in New York.


Associative arrays

You can also reference associative array variables by specifying the key after a dot "." symbol.

Example 4.3. Accessing associative array variables

    array('fax' => '555-222-9876',
          'email' => '',
          'phone' => array('home' => '555-444-3333',
                           'cell' => '555-111-1234')


index.tpl source:

{$Contacts.fax}<br />
{$}<br />
{* you can print arrays of arrays as well *}
{$}<br />
{$}<br />


this will output:

555-222-9876<br /><br />
555-444-3333<br />
555-111-1234<br />


Array indexes

You can reference arrays by their index, much like native PHP syntax.

Example 4.4. Accessing arrays by index

$smarty->assign('Contacts', array(


index.tpl source:

{$Contacts[0]}<br />
{$Contacts[1]}<br />
{* you can print arrays of arrays as well *}
{$Contacts[2][0]}<br />
{$Contacts[2][1]}<br />


This will output:

555-222-9876<br /><br />
555-444-3333<br />
555-111-1234<br />



Properties of objects assigned from PHP can be referenced by specifying the property name after the -> symbol.

Example 4.5. Accessing object properties

name:  {$person->name}<br />
email: {$person->email}<br />


this will output:

name:  Zaphod Beeblebrox<br />
email:<br />


No comments for this page.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Email: (not shown)
What is 16 plus 9? (Are you human?)


Sponsors [info]