| 属性 | 类型 | 是否必须 | 描述 |
| var | string | yes | 被赋值的变量名 |
| value | string | yes | 赋给变量的值 |
assign 演示
<{assign var="age" value=20}>
<{$age}>
输出:
20
<{assign var="arr" value=array("s","b")}>
<{dump var=$arr}>
输出:
array
0 => string 's' (length=1)
1 => string 'b' (length=1)
| 属性 | 类型 | 是否必须 | 描述 |
| from | string | yes | 待循环数组的名称 |
| item | string | yes | 当前处理元素的变量名称 |
| key | string | on | 当前处理元素的键名 |
| name | string | on | 该循环的名称,用于访问该循环 |
foreach 必须和 /foreach 成对使用,且必须指定 from 和 item 属性.name 属性可以任意指定.foreach 可以嵌套,但必须保证嵌套中的 foreach 名称唯一.from 属性(通常是数组)决定循环的次数。foreachelse 语句在 from 变量没有值的时候被执行.
【输出数组$array中所有元素】
<{foreach from=$array item=value key=key}>
<{$key}> : <{$value}><br>
<{/foreach}>
输出:
a : c#
b : php
c : java
<{include file='site/product/goods_js.html' app=b2c}>
<{if $name eq "yi"}>
yi
<{else if $name eq "yu"}>
yu
<{else}>
error
<{/if}>
ldelim 和 rdelim 用于输出分隔符,也就是大括号 "<{" 和 "}>". 模板引擎总是尝试解释大括号内的内容
counter 用于输出一个记数过程. counter 保存了每次记数时的当前记数值. 用户可以通过调节 interval 和 direction 调节该值. 也可以决定是否输出该值. 如果需要同时运行多个计数器,必须为它们指定不同的名称. 如果没有指定名称,模板引擎使用 "default" 作为缺省值.如果指定了 "assign" 这个特殊属性,该计数器的输出值将被赋给由 assign 指定的模板变量,而不是直接输出.
参数: name 计数器的名称
start 记数器初始值
skip 记数器间隔、步长
direction 记数器方向,(增/减)
print 是否输出值
assign 输出值将被赋给模板变量的名称
counter 例子:
<{counter start=6 skip=3 direction=down print=false}><br />
<{counter}><br />
<{counter}><br />
<{counter assign}><br />
<{$counter}>
输出:
3
0
-3
参数:name 输入框的name属性
password 是否是password属性 (其中password=ture 或 password=false都是一样的)[好像判断有问题]
value 输入框value属性
<{html_input name='aaaa' password=ture value='ssss'}>
输出:
<input type="password" name="aaaa" value="ssss" />
参数:name 下拉菜单的名称
options 包含值和显示的关联数组
values 包含下拉列表各元素值的数组
output 包含下拉列表各元素显示值的数组
selected 已选定的元素或元素数组
先分配数据:
$this->pagedata['options'] = array('a'=>'php','b'=>'c#','c'=>'java');
$this->page('list.html');
list.html:
<{html_options name='bb' options=$options }>
输出:
<select name="bb">
<option label="php" value="a">php</option>
<option label="c#" value="b">c#</option>
<option label="java" value="c">java</option>
</select>
参数:loop 待遍历的数组 (必须)
cols 表格的列数目
table_attr 表格的属性
tr_attr 行标签属性
td_attr 列标签属性
先分配数据:
$this->pagedata['loop'] = array(1,2,3,4,5,6,7,8,9);
$this->page('list.html');
list.html:
<{html_table loop=$loop cols=3 }>
输出:
<table border="1">
<tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td>4</td><td>5</td><td>6</td></tr>
<tr><td>7</td><td>8</td><td>9</td></tr>
</table>
参数 :address 发送人地址
text 邮件链接上显示的文本
subject 邮件主题
cc 抄送地址
encode 编码方式 可选值为 none,hex或javascript
extra 其它需要传递给链接的信息,如css样式
<{mailto address="me@domain.com"}><br />
<{mailto address="me@domain.com" text="send me some mail" subject="Hello to you!"
cc="you@domain.com,they@domain.com" extra='class="email"'}><br />
<{mailto address="me@domain.com" encode="javascript"}><br />
<{mailto address="me@domain.com" encode="hex"}><br />
输出:
<a href="mailto:me@domain.com" >me@domain.com</a><br />
<a href="mailto:me@domain.com?cc=you@domain.com%2Cthey@domain.com&subject=Hello%20to%20you%21"
class="email">send me some mail</a><br />
<script type="text/javascript" language="javascript">
eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%
61%69%6c%74%6f%3a%6d%65%40%64%6f%6d%61%69%6e%2e%63%6f%6d%22%20%3e%6d%65%40%64%6f%6d%61%69%6e%
2e%63%6f%6d%3c%2f%61%3e%27%29%3b'))</script><br />
<a href="mailto:%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d" >
me@domain.com</a><br />
参数: from 包含隐藏框的name和value的关联数组
先分配数据:
$this->pagedata['toinput'] = array('a'=>'c#','b'=>'php','c'=>'java');
$this->page('list.html');
list.html:
<{toinput from=$toinput}><br />
输出:
<input type="hidden" name="a" value="c#" />
<input type="hidden" name="b" value="php" />
<input type="hidden" name="c" value="java" />
参数:FDATE Y-m-d
SDATE y-m-d
DATE m-d
FDATE_FTIME Y-m-d H:i:s
FDATE_STIME Y-m-d H:i
SDATE_FTIME y-m-d H:i:s
SDATE_STIME y-m-d H:i
DATE_FTIME m-d H:i:s
DATE_STIME m-d H:i
默认:FDATE_FTIME
先分配数据:
$this->pagedata['time'] = time();
$this->page('list.html');
list.html:
<{$time|cdate:FDATE}>
输出:
2011-01-06
参数:第一个参数 输出几个字符 默认是80
第二个参数 后三个代替字符 默认是 ...
先分配数据:
$this->pagedata['string'] = 'abcdefghijklmno';
$this->page('list.html');
list.html:
<{$string|cut:10}><br />
<{$string|cut:10:'+++'}><br />
输出:
abcdefg...
abcdefg+++
参数:参照php中date函数写参数
先分配数据:
$this->pagedata['time'] = time();
$this->page('list.html');
list.html:
<{$time|date:'r'}><br />
输出:
Thu, 06 Jan 2011 17:53:26 +0800
参数: 参数php中strftime函数写参数
先分配数据:
$this->pagedata['time'] = time();
$this->page('list.html');
list.html:
<{$time|date_format:'%Y年'}><br />
输出:
2011年
参数:第一个参数 填充的次数
第二个参数 填充的字符
先分配数据:
$this->pagedata['p'] = 'abcd';
$this->page('list.html');
list.html:
<{$p|paddingleft:5:'-'}><br />
输出:
-----abcd
参数:第一参数:替换正则表达式.
第二参数:用来替换的文本字符串
先分配数据:
$this->pagedata['articleTitle'] = "Infertility unlikely to\nbe passed on, experts say.";
$this->page('list.html');
list.html:
<{$articleTitle}><br />
<{$articleTitle|regex_replace:"/[\r\t\n]/":" "}>
输出:
Infertility unlikely to
be passed on, experts say.
Infertility unlikely to be passed on, experts say.
参数:第一参数 被替换的字符串
第二参数 用来替换的字符串
先分配数据:
$this->pagedata['region'] = "afsd/fsd:bbcd/czxc:fsd";
$this->page('list.html');
list.html:
<{$region}><br />
<{$region|replace:'/':'-'}><br />
输出:
afsd/fsd:bbcd/czxc:fsd
afsd-fsd:bbcd-czxc:fsd
参数:替换空格的字符
先分配数据:
$this->pagedata['strip'] = "ss fbsd fsd fs ";
$this->page('list.html');
list.html:
<{$strip}><br />
<{$strip|strip:''}><br />
输出:
ss fbsd fsd fs
ssfbsdfsdfs
<{input type="bool" name='name' value="ture" id="bool"}><hr />
输出:
<input value="true" checked="checked" type="radio" name="name" id="bool-t" check="#" />
<label for="bool-t">是</label>
<input value="false" type="radio" name="name" id="bool-f" check="#" />
<label for="bool-f">否</label><input type="hidden" name="_DTYPE_BOOL[]" value="name" />
效果:
。。。。
<{input type="label" value="test"}>
输出:
<span>test</span>
<{input type="date" value="date"}>
效果:
<{input value="text"}>
输出:
<input autocomplete="off" class="x-input " value="text" id="dom_el_006b022" type="text" />
效果:
<{assign var="opt" value=array(1988,1989,1990,1991,1992,1993)}>
<{input type="radio" options=$opt name="radio"}>
效果:
<{assign var="opt" value=array(1988,1989,1990,1991,1992,1993)}>
<{input type="select" options=$opt}>
效果:
<{input type="textarea" value="test"}>
效果:
<{input type="time" name="to_time"}>
效果: