使用dedecms如何把一篇文章发布到多个栏目(副栏目的使用)


DEDECMS是一个很不错的程序,在做网站的时候经常用到,现在有一个网站,遇到一个问题,就是有的文章需要在多个栏目里显示,正常的话,是需要把文章发布到每一个栏目里的,DEDECMS有一个功能可以解决这个问题,就是 文章副栏目 ,但是默认的程序,你选择了副栏目,重新生成后,并没有显示到想要的栏目里面,这还需要修改一下代码来实现这个功能。

首页确认一下在系统基本参数》性能选项下面有一个“是否启用副栏目”一般的这个地方是开启的,确认完这地方之后,可以修改代码了

找到/include/taglib/arclist.lib.php文件,查找下面的代码

if($CrossID==”) $orwheres[] = ‘ arc.typeid in (‘.GetSonIds($typeid).’)’; 

else $orwheres[] = ‘ arc.typeid in (‘.GetSonIds($typeid).’,’.$CrossID.’)’;

改为:

if($CrossID==”)
    //$orwheres[] = ‘ typeid in (‘.GetSonIds($typeid).’)’;
    $orwheres[] = ‘ typeid in (‘.GetSonIds($typeid).’) or typeid2 in (‘.GetSonIds($typeid).’)’;
else
    //$orwheres[] = ‘ typeid in (‘.GetSonIds($typeid).’,’.$CrossID.’)’;
    $orwheres[] = ‘ typeid in (‘.GetSonIds($typeid).’,’.$CrossID.’) or typeid2 in (‘.GetSonIds($typeid).’,’.$CrossID.’)’;

修改完文件,更新一下缓存,然后再试一下副栏目功能,应该就是可以正常使用的了。