Dedecms channel 标签 指定typeid时 currentstyle无效的修复办法

Dedecms channel 标签 指定typeid时 currentstyle无效的修复办法
1
2
3
{dede:channel type='son' row='8' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a> </li>"}    
<li><a href='[field:typelink/]'>[field:typename/]</a> </li>    
{/dede:channel}

这种调用方式currentstyle有效
但是:

1
2
3
{dede:channel type='son' row='8' typeid=1 currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a> </li>"}    
<li><a href='[field:typelink/]'>[field:typename/]</a> </li>    
{/dede:channel}

这种调用方式currentstyle就无效了
论坛里有人说用把typeid=xxx改成channelid=1,简直是无稽之谈。
完美解决办法:

修改include/taglib/channel.lib.php

1
if( ($row['id']==$typeid || ($topid==$row['id'] && $type=='top') ) && $currentstyle!='' )

改成

1
if( ( $row['id']== $refObj->TypeLink->TypeInfos['id'] || ($topid==$row['id'] && $type=='top') ) && $currentstyle!='' )
转自:http://www.zhimengba.com/jsjc/180.html