Files
smarty/docs/en/designers/language-basic-syntax/language-syntax-variables.xml
2005-05-23 15:43:01 +00:00

71 lines
2.3 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<sect1 id="language.syntax.variables">
<title>Variables</title>
<para>
Template variables start with a dollar sign. They can contain numbers,
letters and underscores, much like a
<ulink url="&url.php-manual;language.variables">PHP variable</ulink>.
You can reference arrays
that are indexed numerically or non-numerically. You can also reference
object properties and methods.
<link linkend="language.config.variables">Config file variables</link>
are an exception to the dollar sign syntax.
They can be referenced with surrounding #hashmarks#, or
with the special
<link linkend="language.variables.smarty.config">$smarty.config</link> variable.
</para>
<example>
<title>Variables</title>
<programlisting>
<![CDATA[
{$foo} <-- displaying a simple variable (non array/object)
{$foo[4]} <-- display the 5th element of a zero-indexed array
{$foo.bar} <-- display the "bar" key value of an array, similar to PHP $foo['bar']
{$foo.$bar} <-- display variable key value of an array, similar to PHP $foo[$bar]
{$foo->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
]]>
</programlisting>
</example>
<para>
See also <link linkend="language.variables.smarty">$smarty reserved variables</link>
and <link linkend="language.config.variables">Config Variables</link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->