情景:tp5.0框架,有时我们需要在第二层volist,获取第一层的volist的key的值,如何获取呢?应该不少的朋友都不知怎么获取吧。
TP5中有两个嵌套的volist循环,采用的是关联数组,怎样在循环内部分别获取外层volist的Key和内层volist的key值?
解决方法:在tp5中的ASSIGN标签
ASSIGN标签用于在模板文件中定义变量
{volist name='$data' id='user' key='k'}{assign name="etype" value="$key" /}{volist name='user' id='u'}<tr><td> {$u.user_id} </td><td> {$u.name} </td><td> {volist name="user_type" id="ut"}{eq name="u.type" value="$key"}{$ut}{/eq}{/volist}</td><td><a href="{:url('index/exam/exam',['id'=>$exam.id])}">用户</a></td></tr>{/volist}
{/volist}
通过ASSIGN标签定义了一个模板变量etype,值为外层volist数组中的原始key。在内层volist中通过$type即可调用,需要区别的是内层中的$key实际上是内层volist的数组原始key。
以上的思路有点像赋值起来,给后者使用。