By submitting PHP Resources you own, or know of, you'll help us build the largest PHP Resource website on the net. Please double check that your resource doesn't already exist before you submit it!!. We thank you for helping make this a better website.
Smarty will recognize assignedvariables
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"}