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!=” )