if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')';
else $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')';
if($CrossID=='') {
$orwheres[] = ' (arc.typeid in ('.GetSonIds($typeid).') or arc.typeid2 in ('.GetSonIds($typeid).'))';
} else {
$orwheres[] = ' (arc.typeid in ('.GetSonIds($typeid).','.$CrossID.') or arc.typeid2 in ('.GetSonIds($typeid).','.$CrossID.'))';
}
注意:在之前的代码中,如果没有添加括号,可能会导致逻辑错误或严重的运行问题。因此,在修改时一定要确保逻辑结构的完整性。
完成上述修改后,arclist标签将能够正确调用副栏目的文章。以下是修改后的完整代码示例:
//if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')';
//else $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')';
if($CrossID=='') {
$orwheres[] = ' (arc.typeid in ('.GetSonIds($typeid).') or arc.typeid2 in ('.GetSonIds($typeid).'))';
} else {
$orwheres[] = ' (arc.typeid in ('.GetSonIds($typeid).','.$CrossID.') or arc.typeid2 in ('.GetSonIds($typeid).','.$CrossID.'))';
}
通过这样的修改,Dedecms的arclist标签功能得到了增强,可以更加灵活地调用栏目中的文章内容。这对于需要展示多类别文章的网站来说是非常实用的功能改进。
如果您在操作过程中遇到任何问题,请确保备份原始文件,并仔细检查每一步的修改是否准确无误。
希望这篇文章能帮助您更好地理解和使用Dedecms系统。