织梦DEDECMS导航循环调用一级栏目和二级栏目的方法

织梦导航循环调用一级栏目和二级栏目的调用方法:
{dede:channelartlist typeid='2'}
 
<li class="First"><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></li>
 
        {dede:channel type='son' noself='yes'}
 
        <li class="Second"><a href="[field:typelink/]">[field:typename/]</a></li>
 
        {/dede:channel}
 
{/dede:channelartlist}
 
此方法直接使用会出现一个问题:当其中一个分类没有子分类的时候,会在其子分类的位置显示出所有的一级分类
解决办法:去掉include/taglib/channel.lib.php中以下内容即可解决
    //如果用子栏目模式,当没有子栏目时显示同级栏目
查看源码打印代码帮助
if($type=='son' && $reid!=0 && $totalRow==0)
 
{
 
    $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
 
        FROM `arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
 
    $dsql->SetQuery($sql);
 
  $dsql->Execute();
 
}