欢迎访问织梦学习网,加群!!!!!!!!!!!!!!!!
当前位置:主页 > 二次开发 >

dede arclist标签调用副栏目的文章

2018-01-13 dedecms二次开发 dede,arclist,标签,调用,副栏,目的,文章,DE

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.'))';
}

之前我没有加括号,造成了很严重的问题。

修改完成后是下面这样

				//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.'))';
                }