织梦DedeCMS的功能已经非常强大,但是需要也是在不断需要的,有时也需要去更改一下系统的某些功能,
比如说就需要arclist标签能调用副栏目的文章,只需要更改/include/taglib/arclist.lib.php 。
把
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.’))’;
}
以前没有加括号,造成了很严重的问题。
dede 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.’))’;
}