codecamp

Smarty属性

大多数函数都会使用属性来定义或者修改它们的行为。 Smarty 函数中的属性比较像 HTML 语法中的属性。 静态值不需要引号引起来,但必须是纯字符串。 带或不带修饰器的变量都可以使用,而且也不需要引号, 甚至可以使用 PHP 函数的结果,插件结果和复杂的表达式。

一些属性要求布尔值(TRUE 或 FALSE)。 它们可以直接写成true 和 false。 如果属性没有被赋值,那么它会将 ​true​ 作为默认值。

Example 3.4. 函数属性语法

{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 里, 然后在模板中通过插件或者修饰器来调用。


Smarty函数
Smarty双引号中嵌入变量
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

I.Smarty基础

1.Smart是什么?

II.Smarty模板设计师篇

6.Smarty复合修饰器

9.Smarty配置文件

10.Smarty调试控制台

III. 程序开发者篇

11. Smarty字符集编码

12.Smarty常量

13.Smarty成员变量

14.Smarty成员方法

17.Smarty高级特性

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }