DedeCMS的channel标签为我们考虑得非常非常好,在无子栏目并且不是顶级栏目的时候会调用同级栏目,我不知道为什么织梦要强调一个不是顶级栏 目的情况下,因为我们平时做企业站的时候,一般会在列页的旁边用channel调用一个栏目列表,但像“联系我们”这类的一个栏目,他没有子级栏目,并且 也是顶级栏目,它下面用channel调用栏目列表会会为空。
以前遇见这种情况,我多数都是新建一个栏目,然后手动调用顶级栏目来解决。但是今天在读 channel标签的代码的时候,发现我原来是走弯路了,或者说DedeCMS走弯路了。只需要修改channel标签的一行代码就可以解决栏目调用为空 的尴尬。打开channel标签的解析代码,如果你说你不知道在哪里,那多半你还只是一个新手,在/include/taglib/channel.lib.php ,taglib这个目录下面,一个文件就是一个标签的解析代码,搜索:if($type=='son' && $reid!=0 && $totalRow==0)修改成:if($type=='son' && $totalRow==0)之前也介绍过一种方法,直接备注了就行了。