偶然有一次用到了DEDECMS的副栏目,发布文章时勾选了一些副栏目,但是在前台发现DEDECMS只有在列表中可以显示副栏目,arclist标签中却无法显示该文章,经过查看了 arclist.lib.php 文件后,找到了修改的方法。
首先打开/include/taglib/arclist.lib.php,由于我现在在用的是V5.7 SP1,找到代码大约位于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).") or CONCAT( ',', arc.typeid2, ',' ) LIKE '%,".$typeid.",%' )"; |
else $orwheres[] = " (arc.typeid in (".GetSonIds($typeid).",".$CrossID.") or arc.typeid2 in (".GetSonIds($typeid).",".$CrossID.") or CONCAT( ',', arc.typeid2, ',' ) LIKE '%,".$typeid.",%')"; |
付上网盘下载:http://pan.baidu.com/share/link?shareid=92059&uk=353171678
替换完成后,保存! 然后更新下系统缓存。如果你是生成静态的,请在重新生成一次,基本上就可以了。刷新页面就可以看到效果了,希望可以帮到正常为此困惑的你~
新闻热点
疑难解答