当前位置 : 主页 > 建站教程 > dedecms >

dede二次开发:无子栏目时显示同级栏目名问题

来源:互联网 收集:自由互联 发布时间:2021-06-20
以前二次开发的时候,碰到没有子栏目的栏目的时候,模板是共用的,当使用{dede:channelartlist row=7 typeid=5}时,栏目下没有子栏目的shi和,会出现获取空白的情况。找到如下代码: ul{de

以前二次开发的时候,碰到没有子栏目的栏目的时候,模板是共用的,当使用{dede:channelartlist row=7 typeid='5'}时,栏目下没有子栏目的shi和,会出现获取空白的情况。找到如下代码:
 

<ul>
{dede:channelartlist typeid='3'}
<li class="li_biaoti"><a href="{dede:field name='typeurl'/}" >{dede:field name='typename'/}</a></li>
{dede:channel type='son' noself='yes'}   
<li><a href="[field:typelink/]">[field:typename/]</a></li>
{/dede:channel}
 {/dede:channelartlist}  
</ul>
 

但是这个有缺点,如果没有子栏目下面,这段代码会把所有同级的栏目都取出来,这样页面就出现问题了。其实这个可以加入一个限定条件。需要修改include\taglib\channel.lib.php文件,这个文件代码注释很详细:

查找
if($type=='son' && $reid!=0 && $totalRow==0)
在条件判断部分,加入红色部分
if($type=='son' && $reid!=0 && $totalRow==0 && $noself=='')

这样就对了。

     
网友评论
相关栏目