最近,发现织梦dedecms中的文章在选择幅栏目后,在其对应的幅栏目列表页中可以显示该文章,但在全局的arclist 标签中却无法显示该文章,于是在网上找了很多解决办法,解决思路都是一样,但写法却写错了,导致arclist标签在使用了flag属性时会失效的问题。 于是我将写法进行了修正,具体操作方法如下:
打开/include/taglib/arclist.lib.php文件,找到大概第295-296行,查找以下两行代码:
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.’)) ‘;
修改完成后就可以了,保存后如果你是生成静态的,请重新生成静态的。如果是动态的,请更新系统缓存。然后就可以看到调用的效果了。

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。