当前位置:
首页 > 建站技术应用 > dedecms > dedecms怎么设置当三级栏目为空时不显示同级栏目

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

问题描述:在栏目内容页中,显示当前栏目下面的二级与三级栏目时,使用栏目嵌套标签,当三级栏目为空时,会显地同级栏目。如图-1
dedecms怎么设置当三级栏目为空时不显示同级栏目
图-1
而我要显示的是每个二级栏目下面的三级栏目,如为空时,则不显示。

解决方法:
修改:dede栏目标签 : {dede:channel } 。
先找到标签文件:根目录\include\taglib\channel.lib.php 。并打开

找到第82行。按图中显示,复制一份代码,并在后面粘贴。如图-2

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

新增加的代码如下:

else if($type=='child')
{
if($typeid==0) return '';
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `#@__arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line ";
}

保存文件。

再刷新一下代码。就OK了!如图-3
dedecms怎么设置当三级栏目为空时不显示同级栏目
附出一下能循环显示一级与二级菜单的标签嵌套代码,以供大家收藏!

{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=''。

希望能对大家有所帮助!

原创文章,转载请注明: 转载自广州SEO

本文链接地址: dedecms怎么设置当三级栏目为空时不显示同级栏目