循环输出
VOLIST
volist标签同于查询数据集select结果的输出,返回一个二维数据,直接volist标签输出
<volist name='list' id='item'>
{$item.id} {$item.title}{$item.content}<br>
</volist>
输出部分数据 输出第2-5条数据
<volist name='list' id='item' offset='2' length='5'>
{$item.id} {$item.title}{$item.content}<br>
</volist>
输出偶数记录 mod
<volist name='list' id='item' mod='2'>
<eq name="mod" value="1">{$item.id} </eq>
</volist>
一定记录的换行
<volist name="list" id="vo" mod="5" >
{$vo.name}
<eq name="mod" value="4"><br/></eq>
</volist>
数据为空
<volist name='list' id='item' empty='暂时没有数据'>
{$item.count}<br>
</volist>
输出为空时的Html格式信息
$this->assign('empty','<span class="empty">没有数据</span>');
$this->assign('list',$list);
模板中使用
<volist name="list" id="vo" empty="$empty" >
{$vo.id}|{$vo.name}
</volist>
函数设定数据集 待测
<volist name=":fun('arg')" id="vo">
{$vo.name}
</volist>
Foreach
Foreach标签比volist更加简单,没有额外的属性
<foreach name='list' item='item'>
{$item.id}{$item.title}<br>
</foreach>
条件输出
switch,if eq等比较标签
Switch
<switch name='item.count'>
<case value="">空值</case>
<default>{$item.count}</default>
</switch>
case的value属性支持多个条件判断,使用“|”进行分割
<switch name="Think.get.type">
<case value="gif|png|jpg">图像格式</case>
<default />其他格式
</switch>
比较标签
name变量的值等于value就输出,可以使用:
<foreach name='list' item='item'>
{$item.id}{$item.title}<br>
<eq name='item.title' value='exp'>wuhahaha</eq>
或
<equal name="name" value="value">value</equal>
</foreach>
也可以支持和else标签混合使用:
<eq name="name" value="value">
相等
<else/>
不相等
</eq>
使用函数
<eq name="vo:name|strlen" value="5">{$vo.name}</eq>
范围判断
IN NOTIN BETWEEN NOTBETWEEN
id在范围内:
<in name="id" value="1,2,3">
id在范围内
</in>
不在范围
<notin name="id" value="1,2,3">
id不在范围内
</notin>
<in name="id" value="1,2,3">
id在范围内
<else/>
id不在范围内
</in>
<between name="id" value="1,10">
输出内容1
</between>
<notbetween name="id" value="1,10">
输出内容2
</notbetween>
判断标签
present 判断变量是否定义
empty 变量是否为空
<present name="name">
name已经赋值
<else />
name还没有赋值
</present>
<empty name="Think.get.name">
$_GET['name']为空值
</empty>
<defined name="NAME">
NAME常量已经定义
<else />
NAME常量未定义
</defined>
原声代码
<?php echo 'Hello,world!'; ?>