偶然有一次用到了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
替换完成后,保存! 然后更新下系统缓存。如果你是生成静态的,请在重新生成一次,基本上就可以了。刷新页面就可以看到效果了,希望可以帮到正常为此困惑的你~
© 著作权归作者所有
文章评论(9)
这样只能选择一个副栏目了,不能选择多个???一个文档我想让它在多个栏目下显示。
本来是可以的,但我又想在首页显示,现在首页显示了,但不能副多个栏目了
这样首页虽然显示了,但是不支持多个副栏目了,文档只能在一个副栏目中显示了。 怎么办
@ayue http://115.com/file/e71mucbu#arclist.lib.zip 下载覆盖,记得备份源文件。
不行啊,用上面的代码首页就白了!
把like去掉后,可以显示,但是只能显示一个
@IT枫林 如无法显示,请下载网盘文件覆盖,记得备份源文件,以及更改为对应的编码格式。
测试可以, 感谢雷哥
@希有 不谢不谢。哈哈!
那用这个办法可以实现添加副栏目 但是无法添加多个副栏目
这个怎么解决?
@营子设计 是指前台无法调用多个副栏目,还是指后台无法选择多个副栏目?