情景: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。
以上的思路有點像賦值起來,給後者使用。