如$_GET
, $_POST
, $_COOKIE
, $_SERVER
, $_ENV
和 $_SESSION
可以通过下面的方式来使用:
Note
由于历史愿意,{$SCRIPT_NAME}
变量会作为 的缩写。
- <a href="{$smarty.server.SCRIPT_NAME}?page=smarty">click me</a>
Note
虽然Smarty提供了较方便直接访问PHP超全局变量的方法,但必须谨慎使用。 直接访问超全局变量会弄乱应用程序底层代码和模板语法。 最佳的实践是从PHP将需要的变量对模板进行赋值再使用。
{$smarty.now}
当前的时间戳 可以通过{$smarty.now}
来获取。 时间戳是从1970年1月1日开始计算到当前的秒数。 当前时间戳可以被修饰器使用并显示。 注意:在每次使用该变量时都会调用time()
函数。 比如说一个程序花了三秒来执行,在开头和结束时都调用了$smarty.now
,那么这两个数值将差三秒。
{$smarty.const}
直接访问PHP的常量。参见 smarty 常量.
- <?php
- // the constant defined in php
- define('MY_CONST_VAL','CHERRIES');
- ?>
虽然Smarty有较方便直接访问PHP常量的方法。但这通常会弄乱应用程序底层代码和模板语法。最佳的实践是从PHP将需要的变量对模板进行赋值再使用。
{$smarty.capture}
Smarty内置函数 {capture}..{/capture}
可以捕获其中的代码输出。 通过{$smarty.capture}
变量可以使用这些输出的代码。 参见函数。
{$smarty.config}
变量可以获取 。 {$smarty.config.foo}
可获取设置变量的 {#foo#}
。参见 {config_load}。
{$smarty.section}
{$smarty.section}
变量是{section}
循环中的属性。 它提供了一些很有用的值,如 .first
, .index
等等。
Note
{$smarty.foreach}
变量在新的 语法中已经不再使用。但仍然支持Smarty 2.x 风格的 foreach 语法。
返回当前的模板名称(不带目录名)。
{$smarty.template_object}
{$smarty.current_dir}
返回当前模板的目录名称。
{$smarty.version}
返回编译当前模板的Smarty版本。
- <div id="footer">由 Smarty {$smarty.version} 引擎驱动</div>
{$smarty.block.child}
返回子模板提供的区块代码。 参见。
返回父模板提供的区块代码。 参见模板继承。
{$smarty.ldelim}, {$smarty.rdelim}
用于显示左定界符和右定界符。等同于 {ldelim},{rdelim}
。
参见 和 配置变量