网页特效代码_站长素材站移动版

DeDecms教程

主页 > CMS教程 > DeDecms教程 >

dedecms怎么设置当三级栏目为空时不显示同级栏目

问题描述:在栏目内容页中,显示当前栏目下面的二级与三级栏目时,使用栏目嵌套标签,当三级栏目为空时,会显地同级栏目。
而我要显示的是每个二级栏目下面的三级栏目,如为空时,则不显示。 
 
解决方法: 
修改:dede栏目标签 : {dede:channel } 。 
先找到标签文件:根目录\include\taglib\channel.lib.php 。并打开。 
找到
    else if($type=='son')
    {
        if($typeid==0) return '';
        $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
          From `sucai_arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line ";
    }
复制一份,就粘贴在这段代码的下边,然后把粘贴的这段代码里 else if($type=='son') 换个名字,比如 else if($type=='child')
 
保存文件。 
 
再刷新一下代码。就OK了!
 
附:能循环显示一级与二级菜单的标签嵌套代码,以供大家收藏! 
 
{dede:channelartlist row='10' typeid='top'} 
<a href='{dede:field.typeurl/}' class="b"><span>{dede:field.typename/}</span></a><br /> 
{dede:channel type='child' } 
二级:<a href='[field:typeurl/]'><span>[field:typename/]</span></a><br /> 
{/dede:channel} 
{/dede:channelartlist} 
 
注: 
1、channelartlist 这个标签中的 typeid='top' 参数,top表示是顶层,也就是显示最顶级的栏目。 
如果你要用这个标签显示当前栏目下面的二级栏目,可以默认为空就行了,如:typeid=''。 
 
希望能对大家有所帮助! 
 
(责任编辑:admin)

    468x60