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

Advertisement

Embedding Vars in Double Quotes

  • Smarty will recognize assigned variables embedded in "double quotes" so long as the variable name contains only numbers, letters, under_scores and brackets[]. See naming for more detail.

  • With any other characters, for example a .period or $object>reference, then the variable must be surrounded by `backticks`.

  • You cannot embed modifiers, they must always be applied outside of quotes.

Example 3.5. Syntax examples


{func var="test $foo test"}       <-- sees $foo
{func var="test $foo_bar test"}   <-- sees $foo_bar
{func var="test $foo[0] test"}    <-- sees $foo[0]
{func var="test $foo[bar] test"}  <-- sees $foo[bar]
{func var="test $foo.bar test"}   <-- sees $foo (not $foo.bar)
{func var="test `$foo.bar` test"} <-- sees $foo.bar
{func var="test `$foo.bar` test"|escape} <-- modifiers outside quotes!

  

Example 3.6. Practical examples


{* will replace $tpl_name with value *}
{include file="subdir/$tpl_name.tpl"}

{* doesn't replace $tpl_name *}
{include file='subdir/$tpl_name.tpl'} <--

{* must have backticks as it contains a . *}
{cycle values="one,two,`$smarty.config.myval`"}

{*  same as $module['contact'].'.tpl' in a php script
{include file="`$module.contact`.tpl"}

{*  same as $module[$view].'.tpl' in a php script
{include file="`$module.$view`.tpl"}

  

See also escape.