Smarty 是什么?
为什么要使用?
使用案例和工作流
语法比较
模板继承
最佳实践
速成课
大多数 函数 都采用指定或修改其行为的属性。Smarty 函数的属性与 HTML 属性非常相似。静态值不必用引号引起来,但对于字面字符串,则必须用引号引起来。带或不带修饰符的变量也可以使用,并且不应加引号。您甚至可以使用 PHP 函数结果、插件结果和复杂表达式。
某些属性需要布尔值 (TRUE
或 FALSE
)。这些值可以指定为 true
和 false
。如果属性未赋值,则其获得的默认布尔值为 true。
示例 3.4 函数属性语法
{include file="header.tpl"} {include file="header.tpl" nocache} // is equivalent to nocache=true {include file="header.tpl" attrib_name="attrib value"} {include file=$includeFile} {include file=#includeFile# title="My Title"} {assign var=foo value={counter}} // plugin result {assign var=foo value=substr($bar,2,5)} // PHP function result {assign var=foo value=$bar|strlen} // using modifier {assign var=foo value=$buh+$bar|strlen} // more complex expression {html_select_date display_days=true} {mailto address="[email protected]"} <select name="company_id"> {html_options options=$companies selected=$company_id} </select>
尽管 Smarty 可以处理一些非常复杂的表达式和语法,但一般规则是保持模板语法最少且专注于表示。如果您发现自己的模板语法过于复杂,那么最好通过插件或修饰符将那些与表示无关的部分移至 PHP。