Variables
Template variables start with a $dollar sign. They can contain numbers,
letters and underscores, much like a
PHP variable.
You can reference arrays
that are indexed numerically or non-numerically. You can also reference
object properties and methods.
Config file variables
are an exception to the dollar sign syntax.
They can be referenced with surrounding #hashmarks#, or
with the special
$smarty.config variable.
Variables
bar} <-- display the object property "bar"
{$foo->bar()} <-- display the return value of object method "bar"
{#foo#} <-- display the config file variable "foo"
{$smarty.config.foo} <-- synonym for {#foo#}
{$foo[bar]} <-- syntax only valid in a section loop, see {section}
{assign var=foo value="baa"}{$foo} <-- displays "baa", see {assign}
Many other combinations are allowed
{$foo.bar.baz}
{$foo.$bar.$baz}
{$foo[4].baz}
{$foo[4].$baz}
{$foo.bar.baz[4]}
{$foo->bar($baz,2,$bar)} <-- passing parameters
{"foo"} <-- static values are allowed
]]>
See also $smarty reserved variables
and Config Variables.