织梦(DeDecms)arclist标签无法调用副栏目文章的解决方法

最近一段时间,有一个问题困扰站长和小编已经很久一直无法得到解决。早前用户反馈,在dedecms中的文章在选择幅栏目后,在其对应的幅栏目列表中可以显示该文章,但在arclist标签中却无法显示该文章。首先我们先了解一下什么是arclist标签,arclist标签的功能是获取指定文档列表,适用的范围为全局。如果想对arclist标签的语法学习可以搜索:织梦(DedeCMS)标签手册学习。回到之前的问题,网上找了很多,解决办法都一样。但是问题依旧无法解决,最后通过论坛求助帮助才解决了这个问题。 造成织梦(DeDecms)arclist标签无法调用副栏目文章原因: 由于写法错误,导致arclist标签在使用了flag属性时会失效的问题。用户使用DeDecms版本号为:DedeCMS最新版5.7SP1 织梦(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.')) ';
注:保存后如果你是生成静态的,请生成相关的页面。如果是动态的,请更新系统缓存。