在 TP5 中有两个嵌套的 volist 循环,采用的是关联数组,怎样在循环内部分别获取外层 volist 的 Key 和内层 volist 的 key 值?
解决方法:采用 tp5 中的 ASSIGN 标签即可,ASSIGN 标签用于在模板文件中定义变量,具体用法如下:
{volist name='$list' id='user' key='k'} {assign name="etype" value="$key" /} {volist name='user' id='u'} <tr> <td> {$u.id} </td> <td> {$u.name} </td> <td> {$u.department_id} </td> <td> {volist name="Think.config.USER_TYPE_LIST" id="utl"}{eq name="u.type" value="$key"}{$utl}{/eq}{/volist}</td> <td> <a href="{:url('index/exam/exam',['eid'=>$exam.id,'toid'=>$u.id,'etype'=>$etype])}">评分</a> </td> </tr> {/volist} {/volist}
上述代码中,通过 ASSIGN 标签定义了一个模板变量 etype,值为外层 volist 数组中的原始 key。在内层 volist 中通过$type 即可调用,需要区别的是内层中的$key 实际上是内层 volist 的数组原始 key。
这样就可以在循环内部分别获取外层 volist 的 Key 和内层 volist 的 key 值
本文为原创文章,版权归国外主机测评所有,欢迎分享本文,转载请保留出处!