最近用了交叉栏目,发现当为手动指定交叉栏目ID时用arclist标签不能调出相关文章 最后发现是 arclist标签有问题 要修改的地方是: include/taglib/arclist.lib.php 找到如下: if($ctag->GetAtt('cross')=='1') 改为 if($ctag->GetAtt('cross')!='0') 此处注意是不等于!=,我就是因为没注意,只改了后面的1,死活不成功。 再找: if($arr['crossid']!='') $selquery = "Select id,topid From`#@__arctype` where id in('{$arr['crossid']}') Andid<>'{$typeid}' Andtopid<>'{$typeid}' "; 改为: if($arr['crossid']!='') $selquery = "Select id,topid From`#@__arctype` where id in({$arr['crossid']}) Andid<>'{$typeid}' Andtopid<>'{$typeid}' "; (这一行只去了一对单引号,应该是程序员手误多出来了) 就可以了 分析: 从数据库可以看出 当栏目为不交叉时cross的值为0 当栏目为自动获取同名栏目时cross的值为1 当栏目为手动指定ID时cross的值为2 显然if($ctag->GetAtt('cross')=='1')是错的,在手动指定ID时$CrossID始终为空 |