Smarty 图标

您可以根据商标声明使用 Smarty 标识。

Smarty Template Engine Smarty Template Engine

请联系我们以了解赞助、广告、新闻或其他询问信息。

使用 Smarty 的网站

广告

第 7 章。内置函数

Smarty 附带了几个内置函数。这些内置函数是 Smarty 模板引擎的组成部分。它们被编译成相应的内嵌 PHP 代码,以实现最大性能。

您不能使用相同名称创建您自己的自定义函数;您也不需要修改内置函数。

这些函数中有一些带有assign属性,该属性会收集函数结果到一个指定模板变量中,而不是输出;很像 {assign}函数。

{$var=...}

这是{assign}函数的简写形式。您可以将值直接分配到模板,或将值分配到数组元素。

注意

在模板中分配变量本质上是将应用程序逻辑置入展示中,而这在 PHP 中可能处理得更好。自行决定是否使用。

以下属性可以添加到标记

属性

属性名称 简写 类型 必需 默认 描述
作用域 字符串 已分配变量的作用域:'parent','root' 或 'global'

选项标记

名称 描述
nocache 将变量分配给“nocache”属性

示例 7.1 简单分配

{$name='Bob'}

The value of $name is {$name}.

  

上述示例将输出

The value of $name is Bob.

  

示例 7.2 带数学运算的分配

{$running_total=$running_total+$some_array[row].some_value}

  

示例 7.3 分配数组元素

{$user.name="Bob"}

  

示例 7.4 分配多维数组元素

{$user.name.first="Bob"}

  

示例 7.5 追加数组

{$users[]="Bob"}

  

示例 7.6 在调用模板的作用域中分配

在包含的模板中分配的变量将在包含它的模板中可见。

{include file="sub_template.tpl"}
...
{* display variable assigned in sub_template *}
{$foo}<br>
...

  

上述模板包含以下示例 sub_template.tpl

...
{* foo will be known also in the including template *}
{$foo="something" scope=parent}
{* bar is assigned only local in the including template *}
{$bar="value"}
...


另请参见 {assign}{append}