Skip to content

属性

大多数函数都接受指定或修改其行为的属性。Smarty 函数的属性很像 HTML 属性。静态值不必用引号括起来,但对于字面字符串则是必需的。可以使用带有或不带有修饰符的变量,这些变量不应被引号括起来。你甚至可以使用 PHP 函数结果、插件结果和复杂表达式。

有些属性需要布尔值(TRUE 或 FALSE)。这些可以被指定为 truefalse。如果一个属性没有赋值,它将获得默认的布尔值 true。

示例

{include file="header.tpl"}

{include file="header.tpl" nocache}  // 等价于 nocache=true

{include file="header.tpl" attrib_name="attrib value"}

{include file=$includeFile}

{include file=#includeFile# title="My Title"}

{assign var=foo value={counter}}  // 插件结果

{assign var=foo value=substr($bar,2,5)}  // PHP函数结果

{assign var=foo value=$bar|strlen}  // 使用修饰符

{assign var=foo value=$buh+$bar|strlen}  // 更复杂的表达式

{html_select_date display_days=true}

{mailto address="smarty@example.com"}

<select name="company_id">
  {html_options options=$companies selected=$company_id}
</select>

注意

尽管 Smarty 可以处理一些非常复杂的表达式和语法,但一个经验法则是保持模板语法的简洁性并专注于呈现。如果你发现你的模板语法过于复杂,将那些与呈现无关的部分通过插件或修饰符转移到 PHP 中可能是个好主意。