dede:channel标签指定typeid时 currentstyle无效失效的修复办法

{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有效
但是:

{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
查找:

 

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


改成

 

if( ( $row['id']== $refObj->TypeLink->TypeInfos['id'] || ($topid==$row['id'] && $type=='top') ) && $currentstyle!='' )