循环输出

volist 还有别名 iterate


模版赋值:

$User = D('User')

$list = $User->findAll()

$this->assign('list',$list)


模版定义:

<iterate name="list" id="vo">

{$vo.name}

</iterate>


注意 name 和 id 表示的含义

// 输出 list 的第 5~15 条记录

<iterate name="list" id="vo" offset="5" length='10'>

{$vo.name}

</iterate>


// 输出偶数记录

<iterate name="list" id="vo" mod="2" >

<eq name="mod" value="1">

{$vo.name}

</eq>

</iterate>


// 输出 key

<iterate name="list" id="vo" key="k" >

{$k}.{$vo.name}

</iterate>


//子循环输出

<volist name="list" id="vo">

<iterate name="vo['sub']" id="sub">

{$sub.name}

</iterate>

</volist>


Switch 标签

<switch name="name">

<case value="1">value1</case>

<case value="2">value2</case>

<default />default

</switch>

其 中 name 属性可以使用函数以及系统变量,例如:

<switch name="Think.get.userId|abs">

<case value="1">admin</case>

<default />default

</switch>

也 可以对 case 的 value 属性使用变量,例如:

<switch name="userId">

<case value="$adminId">admin</case>

<case value="$memberId">member</case>

<default />default

</switch>


比较标签

<eq name="name" value="value">value</eq> // name 变量的值等于 value 就输出

<neq name="name" value="value">value</neq> // name 变量的值不等于 value 就输出

<gt name="name" value="5">value</gt> // name 变量的值大于 5 就输出

<egt name="name" value="5">value</egt> // name 变量的值大于等于 5 就输出

<lt name="name" value="5">value</lt> // name 变量的值小于 5 就输出

<elt name="name" value="5">value</elt> // name 变量的值小于等于 5 就输出


//其实上面的所有标签都是 compare 标签的别名

// 其中 type 属性的值就是上面列出的判断标签名称

<compare name="name" value="5" type="eq">value</compare> // name 变量的值等于 5 就输出


If标签

<if condition="$name eq 1 "> value1

<elseif condition="$name eq 2" />value2

<else /> value3

</if>