也许会有人问为什么要修改呢?这样子不是挺好的吗?但是搜索引擎可不是这么认为的哦,所以我们也许是出于SEO优化等因素的考虑,我们有时候有必要的修改我们DEDECMS里的栏目页的标题TITLE。因为dedecms有好几个版本,如果要修改或者去掉织梦DEDECMS二级栏目标题TITILE中的斜杠就得先找出5.7版本里的$this->Fields['title'] = preg_replace("/[<>]/", " / ", $this->TypeLink->GetPositionLink(false));其他版本里的$this->Fields['title'] = ereg_replace("[<>]"," / ",$this->TypeLink->GetPositionLink(false));
dede栏目页的title在模板文件list_article.htm里,默认是这样的:
<title>{dede:field name='title'/} - {dede:global name='cfg_webname'/} - powered by dedecms</title>其中{dede:field name='title'/}在栏目页将显示为栏目名称;而{dede:global name='cfg_webname'/} 是你在后台管理里填的“网站名称”。
如果您的Dedecms只建了一级频道,也就是只有一层目录,那么栏目页的title直接在list_article.htm里修改就ok了;
如果一级频道下还有次级栏目,栏目页的title里的{dede:field name='title'/}这部分默认会显示为“一级目录 // 二级目录”,如果要改掉/这个符号,需要:
打开/include/inc_arclist_view.php文件
Dedecms5.7版本的 arc.listview.class.php文件找到第75行之后的
$this->Fields['title'] = ereg_replace("[<>]"," / ",$this->TypeLink->GetPositionLink(false)); 或者
$this->Fields['title'] = preg_replace("/[<>]/", " / ", $this->TypeLink->GetPositionLink(false));
改成
$this->Fields['title'] = ereg_replace("[<>]"," - ",$this->TypeLink->GetPositionLink(false));或者
$this->Fields['title'] = preg_replace("/[<>]/", "-", $this->TypeLink->GetPositionLink(false));
就可以把原来的符号/替换成符号-,但这样修改后title显示成“一级目录 - 二级目录”。
以上的办法可能会出现的情况是栏目1 – 栏目2-网站名称,可能还不是我们真正想要的结果,所以我们要把“-”左右的空格去掉变成为“栏目1–栏目2–网站名称”这样个效果。
DEDECMS二级栏目title中替换–后去除两边空格的方法原文是 $this->Fields['title']=ereg_replace("[<>]","/",$this->TypeLink->GetPositionLink(false)); 或者
$this->Fields['title'] = preg_replace("/[<>]/", " / ", $this->TypeLink->GetPositionLink(false));
//修改官方"/" 为_
$this->Fields['title']=ereg_replace("[<>]","_",$this->TypeLink->GetPositionLink(false)); 或者
$this->Fields['title'] = preg_replace("/[<>]/", "_", $this->TypeLink->GetPositionLink(false));
最后一大亮点值得提出的是,在修改我们的标题TITLE时请注意空格的那个地方。