Files
smarty/docs/en/designers/language-variables/language-variables-smarty.xml
2005-09-10 12:39:06 +00:00

168 lines
5.1 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<sect1 id="language.variables.smarty">
<title>{$smarty} reserved variable</title>
<para>
The PHP reserved {$smarty} variable can be used to access several
special template variables. The full list of them follows.
</para>
<sect2 id="language.variables.smarty.request">
<title>Request variables</title>
<para>
The <ulink url="&url.php-manual;reserved.variables">request variables
</ulink> such as $_GET, $_POST, $_COOKIE, $_SERVER, $_ENV and $_SESSION
(see <link linkend="variable.request.vars.order">$request_vars_order</link>
and <link
linkend="variable.request.use.auto.globals">$request_use_auto_globals</link>
) can be accessed as demonstrated in the examples below:
</para>
<example>
<title>displaying request variables</title>
<programlisting>
<![CDATA[
{* display value of page from URL ($_GET) http://www.example.com/index.php?page=foo *}
{$smarty.get.page}
{* display the variable "page" from a form ($_POST['page']) *}
{$smarty.post.page}
{* display the value of the cookie "username" ($_COOKIE['username']) *}
{$smarty.cookies.username}
{* display the server variable "SERVER_NAME" ($_SERVER['SERVER_NAME'])*}
{$smarty.server.SERVER_NAME}
{* display the system environment variable "PATH" *}
{$smarty.env.PATH}
{* display the php session variable "id" ($_SESSION['id']) *}
{$smarty.session.id}
{* display the variable "username" from merged get/post/cookies/server/env *}
{$smarty.request.username}
]]>
</programlisting>
</example>
<note>
<para>
For historical reasons {$SCRIPT_NAME} can be accessed
directly, although {$smarty.server.SCRIPT_NAME} is the
proposed way to access this value.
</para>
</note>
</sect2>
<sect2 id="language.variables.smarty.now">
<title>{$smarty.now}</title>
<para>
The current <ulink url="&url.php-manual;function.time">timestamp</ulink>
can be accessed with {$smarty.now}. The number reflects the number of
seconds passed since the so-called Epoch (January 1, 1970)
and can be passed directly to the
<link linkend="language.modifier.date.format">date_format</link>
modifier for display purposes.
</para>
<example>
<title>using {$smarty.now}</title>
<programlisting>
<![CDATA[
{* use the date_format modifier to show current date and time *}
{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}
]]>
</programlisting>
</example>
</sect2>
<sect2 id="language.variables.smarty.const">
<title>{$smarty.const}</title>
<para>
You can access PHP constant values directly. See also <link
linkend="smarty.constants">smarty constants</link>
</para>
<example>
<title>using {$smarty.const}</title>
<programlisting>
<![CDATA[
{$smarty.const._MY_CONST_VAL}
]]>
</programlisting>
</example>
</sect2>
<sect2 id="language.variables.smarty.capture">
<title>{$smarty.capture}</title>
<para>
The output captured via <link
linkend="language.function.capture">{capture}..{/capture}</link>
construct can be accessed using {$smarty} variable. See section on
<link linkend="language.function.capture">{capture}</link> for an
example.
</para>
</sect2>
<sect2 id="language.variables.smarty.config">
<title>{$smarty.config}</title>
<para>
{$smarty} variable can be used to refer to loaded <link
linkend="language.config.variables">config variables</link>.
{$smarty.config.foo} is a synonym for {#foo#}. See the section on
<link linkend="language.function.config.load">{config_load}</link>
for an example.
</para>
</sect2>
<sect2 id="language.variables.smarty.loops">
<title>{$smarty.section}, {$smarty.foreach}</title>
<para>
{$smarty} variable can be used to refer to
<link linkend="language.function.section">{section}</link> and
<link linkend="language.function.foreach">{foreach}</link>
loop properties.
</para>
</sect2>
<sect2 id="language.variables.smarty.template">
<title>{$smarty.template}</title>
<para>
This variable contains the name of the current template being
processed.
</para>
</sect2>
<sect2 id="language.variables.smarty.version">
<title>{$smarty.version}</title>
<para>
This variable contains the version of Smarty the template was compiled with.
</para>
</sect2>
<sect2 id="language.variables.smarty.ldelim">
<title>{$smarty.ldelim}, {$smarty.rdelim}</title>
<para>
This variable is used for printing the left-delimiter and right-delimiter value literally.
See <link linkend="language.function.ldelim">{ldelim},{rdelim}</link>.
</para>
<para>
See also
<link linkend="language.syntax.variables">Variables</link> and
<link linkend="language.config.variables">Config Variables</link>
</para>
</sect2>
</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
-->