dedecms5.7默认情下交叉栏目实现不了,但是后台却有这样一个功能,那我们该如何修改实现交叉栏目。还有我们在什么情况下使用用交叉栏目。
首先我们先来了解一下交叉栏目的概念。
交叉栏目是指一个大栏目与另一个非下级的子栏目出现交叉的情况,相当于系统原来的副栏目功能,不过现在改在栏目里预先设置好。
例如: 网站上有大栏目——智能手机、音乐手机,另外又有栏目——诺基亚->智能手机、诺基亚->音乐手机,这样顶级的大栏目就和另一个大栏目的
子栏目形成了交叉,这样只需要在大栏目中指定交叉的栏目即可。
注:会自动索引交叉栏目的内容,但不会索引交叉栏目下级栏目的内容,这种应用也适用于按地区划分资讯的站点。
这些官方后台给出的概念,知道了概念就能够明确的知道我们该在什么情况下用。
第二:修改相关文件,实现交叉栏目
修改的文件:include/taglib/arclist.lib.php
第267行:
if($ctag->GetAtt('cross')=='1')
改成
if($ctag->GetAtt('cross')!='0')
第282行:
if($arr['crossid']!='') $selquery = "SELECT id,topid FROM `dede_arctype` WHERE id IN('{$arr['crossid']}') AND id<>'{$typeid}' AND topid<>'{$typeid}' ";
改成
if($arr['crossid']!='') $selquery = "SELECT id,topid FROM `dede_arctype` WHERE id IN({$arr['crossid']}) AND id<>'{$typeid}' AND
topid<>'{$typeid}' ";
后台在后台栏目里面设置好要交叉,生成相关的栏目列表,这时我们就能看到我们想要的效果了,灵活的运用交叉栏目能够很好的帮助我们实现我们想要的特效。但是同时如果能不用最好不用,另外后期会有一些想不到的麻烦。