EZ Publish/EZ Publish 模板变量用法

来自站长百科
跳转至: 导航、​ 搜索

EZ Publish | EZ Publish安装与卸载 | EZ Publish的使用 | EZ Publish常见问题 | EZ Publish其他

模板变量必须以'$'符号开头,如:$my_variable,$object_array,等。变量是大小写敏感的,所以$lollipop与$LolliPop 是不同变量。模板变量可以由系统创建(在PHP 代码中)或由模板的作者创建(在模板代码中)。不论变量在哪里定义,变量可以被"set"函数重新赋值。某些模板变量有预设值,如:主模板(pagelayout)提供了一套预设变量。

创建与销毁变量[ ]

模板中的变量在使用前必须先通过"def"函数定义。变量定义后会一直存在,直到变量被"undef"(稍后解释)函数销毁。在模板中定义的变量在模板的结尾处会被自动销毁。下例演示了"def"和"undef"的基本用法。

{def $temperature=32}
{$temperature}
{undef}

上例会输出"32“。{undef}之后,$temperature 被销毁。"def“和"undef"可同时用于多个变量。此外,"undef"可以不使用任何参数。当不使用参数时,"undef"会销毁所有之前在当前模板定义的变量。下例演示了如何用"def"和"undef"来定义和销毁多个变量。

{def $weather='warm' $celsius=32 $fahrenheit=90}
The weather is {$weather}: {$celsius} C / {$fahrenheit} F
{undef $celsius $fahrenheit}
The weather is still {$weather}.
{undef}

输出:

The weather is warm: 32 C / 90 F
The weather is still warm.

上例中,"def"定义了三个变量:$temperature,$celsius 和$fahrenheit。"undef"使用了两次。第一次用来销毁$celsius 和$fahrenheit 变量。第二次没用到任何参数,因而所有剩余的变量(在本例中,只有$temperature)会被销毁。

修改变量内容[ ]

可以用"set"函数为变量赋值。这个函数可以为任何变量赋值,不论它是在模板中还是在PHP 代码中创建的。如果系统变量被赋值,系统不会发出警告。"set"会忽略变量的新/旧类型,换言之,"set"可以修改变量的变量类型。"set"不能用来修改数组的元素,哈希的元素和对象。事实上,数组,哈希表和对象不能在模板中被修改。下例演示了"set"函数的用法。

{def $weather='warm'}
The weather is {$weather}.
{set $weather='cold'}
The weather is {$weather}.
{undef}

输出:

The weather is warm.
The weather is cold.

与"def"和"undef"一样,"set"可以同时为多个变量赋值。

访问数组元素[ ]

向量数组的元素只能用下表访问。这种方法被成为“下标寻址”。哈希的元素可以通过键值访问。这种方法称为“键值寻址”。下例演示了不同寻址方法。

下标寻址[ ]

下表寻址可以通过在数组名后追加"."和下标来实现。也可以用常规的"[]"方式。下例演示了不同的下表寻址方法(注意不同的语法,"."和"[]")。

{def $sentence=array( 'Life', 'is', 'very', 'good!' )}
The 1st element is: {$sentence.0}
The 2nd element is: {$sentence.1}
The 3rd element is: {$sentence[2]}
The 4th element is: {$sentence[3]}
{undef}

输出:

The 1st element is: Life
The 2nd element is: is
The 3rd element is: very
The 4th element is: good!

键值寻址[ ]

与下表寻址类似。但是用键值替换下表。下例演示了不同的键值寻址方法。

{def $sentence=hash( 'first', 'Life',
'second', 'is',
'third', 'very',
'fourth', 'good!' )}
The 1st element is: {$sentence.first}
The 2nd element is: {$sentence.second}
The 3rd element is: {$sentence[third]}
The 4th element is: {$sentence[fourth]}
{undef}

输出:

The 1st element is: Life
The 2nd element is: is
The 3rd element is: very
The 4th element is: good!

访问对象属性[ ]

与哈希的键值寻址类似。但是不支持"[]"方式。下例演示了如何访问对象的不同属性。

The ID of the node: {$node.node_id}
The ID of the object encapsulated by the node: {$node.object.id}
The name of the object: {$node.object.name}
First time the object was published: {$node.object.published|l10n( shortdate )}

如果$node 变量的节点ID 是14,对象ID 是13,对象名为"Birthday“,发布时间是"2003 年4 月1 日",则输出如下:

The ID of the node: 44
The ID of the object encapsulated by the node: 13
The name of the object: Birthday
First time the object was published: 01/04/2003

参考来源[ ]

EZ Publish使用手册导航

EZ Publish安装卸载

EZ Publish正常安装 | EZ Publish手动安装 | EZ Publish自动安装 | EZ Publish安装向导 | EZ Publish虚拟主机设置 | EZ Publish使用扩展 | EZ Publish的卸载

EZ Publish的使用

模板使用:

EZ Publish节点模板 | EZ Publish系统模板 | EZ Publish Pagelayout页头信息 | EZ Publish Pagelayout变量 | EZ Publish 模板注释 | EZ Publish 模板变量类型 | EZ Publish 模板变量用法 | EZ Publish 调查数组和对象 | EZ Publish 模板控制结构 | EZ Publish 函数与操作符 | EZ Publish URL处理 | EZ Publish 内容提取 | EZ Publish 模板重设系统
系统功能: EZ Publish 系统记帐 | EZ Publish 策略功能 | EZ Publish 多语言使用(一) | EZ Publish 多语言使用(二) | EZ Publish 集群的使用 | EZ Publish 安装包的使用 | EZ Publish Cronjob脚本的使用 | EZ Publish 多货币功能 | EZ Publish 通知功能
其他功能: EZ Publish 增值税(VAT)系统 | EZ Publish 改进的商品配送系统 | EZ Publish 多语言URL别名 | EZ Publish 登录后高级重定向 | EZ Publish 检索引擎 | EZ Publish WebDAV | EZ Publish 视图缓存

EZ Publish常见问题

EZ Publish 安装常见问题 | EZ Publish 使用常见问题

EZ Publish其他

EZ Publish内部结构 | EZ Publish内容与界面 | EZ Publish内容管理(一) | EZ Publish内容管理(二) | EZ Publish配置模型 | EZ Publish模块与视图 | EZ Publish URL 翻译 | EZ Publish 界面 | EZ Publish访问控制 | EZ Publish网络商店 | EZ Publish工作流