在使用Dedecms CMS进行全站调用二级栏目以及子栏目的过程中,可能会遇到一个问题:当某些二级栏目没有子栏目时,系统会自动调用同级栏目。这种现象显然会影响用户体验,给客户带来不好的感受。

 

经过与Dedecms技术QQ群内的高手交流后,发现这一问题的根源在于Dedecms CMS的程序逻辑设置上。为了解决这个问题,我们需要对相关文件进行修改。

 

首先,打开以下文件:

include\\taglib\\channel.lib.php

找到以下代码:


$type=='son' && $reid!=0 && $totalRow==0

将其修改为:


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

 

完成上述修改后,大多数用户的问题可以得到解决。然而,有些用户即使按照上述方法操作,问题仍然存在。这是为什么呢?

 

实际上,除了修改代码外,还需要在Dedecms CMS的channel标签中添加一个参数:noself='yes'。这样可以确保系统不会调用同级栏目。

 

正确的channel标签写法如下:


{dede:channel type='son' row='5' noself='yes'}

 

通过以上两步操作,您可以彻底解决Dedecms CMS在调用二级栏目及子栏目时出现的同级栏目干扰问题。这样的调整不仅提升了网站的专业性,也优化了用户体验。

 

总结一下,解决这一问题的关键步骤包括:

  • 修改include\\taglib\\channel.lib.php文件中的逻辑判断条件。
  • 在channel标签中添加noself='yes'参数。

希望这篇文章能够帮助您更好地理解和解决Dedecms CMS的相关问题。