鉴于大家对网络知识十分关注,我们编辑小组在此为大家搜集整理了“优化帝国CMS的同时发布其他栏目功能”一文,供大家参考学习!
帝国CMS发布信息时可选“同时发布到以下栏目”,默认是把同一篇文章复制到不同的栏目,每一篇都是不同的url,这样非常不好,从SEO角度看会造成重复页面,从服务器角度看又会增加占用空间,所有人工修改了一下程序代码。
通过修改实现和dedecms的副栏目一样的功能,添加一篇文章,选择副栏目会在多个栏目的列表页面显示,链接地址唯一,文章唯一。
修改方法:
1.修改/e/admin/AddNews.php代码 注释掉添加重复文章的代码:224行
添加225行:
$copyids = implode(",",$copyclassid);
2.给数据库表phome_ecms_news加一个字段,classid2(副栏目,可以用,分割)
ALTERTABLE`phome_ecms_news`ADD`classid2` VARCHAR( 90)CHARACTERSET gbk COLLATE gbk_chinese_ci NOTNULL DEFAULT''0'' COMMENT''副栏目'' AFTER`classid`
3.文章生成,文章调用。
修改e/action/ListInfo/index.php 注释130行
添加131行:
$totalquery="select count(*) as total from {$dbtbpre}ecms_".$tbname." where ".$yhadd."checked=1 and (classid=''$classid'' OR CONCAT('','',classid2,'','') like ''%,$classid,%'')";
注释140行
添加141行:
$query="select ".ReturnSqlListF($mid)." from {$dbtbpre}ecms_".$tbname." where ".$yhadd."checked=1 and (classid=''$classid'' OR CONCAT('','',classid2,'','') like ''%,$classid,%'')";
修改完毕,这样帝国cms的副栏目效果就和dedecms的副栏目一样了。
本文转自:http://www.imfeng.com/ecms-add-classid2/