首页

源码搜藏网

首页 > 开发教程 > dede教程 >

dede取子栏目时重复显示同级栏目的终极解决方法

创建时间:2015-05-28 19:19  

使用channelartlist标签时,当栏目没有子栏目是,会出现重复同级栏目的问题,解决方法如下:

dede取子栏目时重复显示同级栏目的终极解决方法

 

 

 

先看下面的代码
{dede:channelartlist typeid='2'}
  {dede:type}
  <tr>
  <td><a href="[field:typelink /]">[field:typename/]</a></td>
  </tr>
  {/dede:type}
  {dede:channel type='son' noself='yes'}(这个属性是eims当中的在include/taglib/下面的channel.lib.php文件当中)
  <tr>
  <td><a href="[field:typelink/]">[field:typename/]</a></td>
  </tr>
  {/dede:channel}
{/dede:channelartlist}


此代码运行结果可以看到如果存在子类那么能够取出子类栏目这是因为为channel标签添加了noself='yes'的属性(这个属性是eims当中的在include/taglib/下面的channel.lib.php文件当中)

 

解决方法:
如果是dedecms5.6/5.7则需要做以下修改 还是打开那个channel.lib.php文件找到
找到
if($type=='son' && $reid!=0 && $totalRow==0)

 

dede取子栏目时重复显示同级栏目的终极解决方法

 


改成
if($type=='son' && $reid!=0 && $totalRow==0 && $noself=='')

至此,方法解决。

上一篇:让dedecms搜索页面支持标签调用及自定义字段调用的方法
下一篇:DedeCMS首页列表页调用文章TAG标签的具体方法步骤

相关内容

热门推荐