ThinkPHP5.1模板标签volist循环第二次调用出现Illegal string offset 'cate_id'
作者:admin发布时间:2023-01-31 22:48:10阅读:341
最近在用ThinkPHP5搭建一个新的站点,在写到网站发布文章时的选择分类时,由于我觉得网站的导航栏已经调用过所有的栏目了,就想着使用相同的变量menu,但是第二次调用时出现了Illegal string offset 'cate_id'这样的错误提示。
我反复查找也不知道的问题究竟出现在哪里,因为之前也有类似的第二次调用,但是是正常使用的。后来终于让我找到了问题所在。
我的导航栏目是这样调用的:
<ul class="menu"> {volist name="menu" id="menu"} <li> <a href="{:url('index/lists',array('path'=>$menu.cate_path))}"{if condition="$menu.cate_id eq $nowid"} class="active"{/if}>{$menu.cate_name}</a> </li> {/volist} </ul>
然后我第二次调用时是这样写的:
{volist name="menu" id="mycate"} <option value="{$mycate.cate_id}">{$mycate.cate_name}</option> {/volist}
虽然我第二次修改了当前的循环变量,但是还是跟我第一次调用的循环变量还是有冲突的,经过第一次调用时的“当前变量”名,我终于解决了这个问题。
<ul class="menu"> {volist name="menu" id="nav"} <li> <a href="{:url('index/lists',array('path'=>$nav.cate_path))}"{if condition="$nav.cate_id eq $nowid"} class="active"{/if}>{$nav.cate_name}</a> </li> {/volist} </ul>