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

网络整理 - 07-21
{dede:channel type='son' row='8' currentstyle="<li><a href='~typelink~'>~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~'>~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!='' )