出于SEO等的考虑,我们有时需要改动dedecms栏目页的title。
dede栏目页的title在模板文件list_article.htm里,默认是这样的:
<title>{dede:field.title/}-{dede:global.cfg_webname/}</title>
其中{dede:field.title/}在栏目页将显示为栏目名称;而{dede:global name='cfg_webname'/} 是你在后台管理里填的“网站名称”。
如果您的Dedecms只建了一级频道,也就是只有一层目录,那么栏目页的title直接在list_article.htm里修改就ok了;
如果一级频道下还有次级栏目,栏目页的title里的{dede:field.title/}这部分默认会显示为“一级目录 // 二级目录”,如何去掉或修改二级栏目标题title中的斜杠(/)呢?
具体步骤:
1、将官方原来的排列方式反过来,找到/ include/typelink.class.php第182行
$this->valuePositionName =$tinfos['typename'].$this->SplitSymbol.$this->valuePositionName;
修改为:
$this->SplitSymbol.$tinfos['typename'];
2、将模板的标题标签
<title>{dede:field.title/} - {dede:global.cfg_webname/}</title>
修改为:
<title>{dede:field.title function='ereg_replace(" - "," - ",@me)'/} - {dede:global.cfg_webname/}</title>
即可。
3、如果您对栏目中间的连接符不满意,可以修改/include/arc.listview.class.php,找到84行:
$this->Fields['title'] = preg_replace("/[<>]/", " / ", $this->TypeLink->GetPositionLink(false));
把"/"替换成"_"。
这样在模板标题标签部分就可以修改各级栏目间的连接符。
4、文章栏目做优化标题,模板里把标题标签替换成 {dede:field.seotitle /}
*注如果行数不对,请ctrl+F查找,以免发生错误!