1)列表栏目与频道栏目
2)交叉栏目
交叉栏目好像不能调被交叉的栏目的子栏目的文章,所以此时要交叉栏目 要交叉多个栏目(被交叉栏目及它的子栏目),织梦(dede)arclist标签调用交叉栏目时调不出来
2011-11-05 22:11 来源:大梦之家 浏览:142
最近用了交叉栏目,发现当为手动指定交叉栏目ID时用arclist标签不能调出相关文章
最后发现是
arclist标签有问题
要修改的地方是:
include/taglib/arclist.lib.php
找到如下:
if($ctag->GetAtt('cross')=='1')
改为
if($ctag->GetAtt('cross')!='0')
在找:
if($arr['crossid']!='') $selquery = "Select id,topid From `dede_arctype` where id in('{$arr['crossid']}') And id<>'{$typeid}' And topid<>'{$typeid}' ";
改为:
if($arr['crossid']!='') $selquery = "Select id,topid From `dede_arctype` where id in({$arr['crossid']}) And id<>'{$typeid}' And topid<>'{$typeid}' ";
(这一行只去了一对单引号,应该是程序员手误多出来了)
就可以了
分析:
从数据库可以看出
当栏目为不交叉时cross的值为0
当栏目为自动获取同名栏目时cross的值为1
当栏目为手动指定ID时cross的值为2
显然if($ctag->GetAtt('cross')=='1')是错的,在手动指定ID时$CrossID 始终为空
注意:为了解决这个问题花了不少心思,终于解决了