您的位置:首页 > 编程语言 > PHP开发

ThinkPHP volist标签嵌套不能超过3层的解决办法

2015-01-01 13:05 453 查看


做一个小玩具的时候,发现volist超过3层,模板渲染就不会渲染3层之后的volist标签了,可以在/runtime/Cache 看到<volist>标签原样输出
按照官方的说法 添加TAG_NESTED_LEVEL=5 配置参数发现并没有生效。

网上还有说是因为  thinkPHP/Lib/Driver/TagLib/TagLibCx.class.php中层数写死了,一看果然是这样。

protected $tags = array(
// 标签定义: attr 属性列表 close 是否闭合(0 或者1 默认1) alias 标签别名 level 嵌套层次
'php' => array(),
'volist' => array('attr'=>'name,id,offset,length,key,mod','level'=>3,'alias'=>'iterate'),

修改为

protected $tags = array(
// 标签定义: attr 属性列表 close 是否闭合(0 或者1 默认1) alias 标签别名 level 嵌套层次
'php' => array(),
'volist' => array('attr'=>'name,id,offset,length,key,mod','level'=>4,'alias'=>'iterate'),问题解决(我只需要4层)。

同时发现dwz一个问题

<ul class="tree treeFolder">

当设置属性 collapse时, treeFolder渲染有问题

<ul class="tree treeFolder collapse">  <!-- 渲染出错 -->

不知道其他人有没有遇到类似的问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  thinkphp dwz