dedecms标题实现“文章标题_三级分类_二级分类_一级分类”形式
作者:于振海 文章ID:671 浏览:
织梦内容管理系统(DedeCms) 以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,在经历了几年的发展,目前的版本无论在功能,还是在易用性方面,都有了非常大的进步。
然而,一些细节问题一直没有得到解决。由于系统比较庞大,使部分站长修改起来比较麻烦。本文主要介绍一下与SEO关系比较大的一个问题:标题实现“文章标题_三级分类_二级分类_一级分类”形式,并且不限制栏目级数,多少级栏目也可以用这个形式显示。
此修改方法不同于以往互联网上存在的一些修改。本方法在不改变原先功能的基础上添加新函数【GetPositionNameForTitle()】,不影响原先功能的使用。
1.打开【include\typelink.class.php】,将165行左右的【function LogicGetPosition($id,$islink)】之前添加如下代码:
function GetPositionNameForTitle()
{
return join('_',array_reverse(explode($this->SplitSymbol,$this->GetPositionLink(false))));
}
2.打开【include\arc.archives.class.php】,将239行左右的【$this->Fields['typename'] = $this->TypeLink->TypeInfos['typename'];】之后添加一行【$this->Fields['typenamefortitle'] = $this->TypeLink->GetPositionNameForTitle();】。
3.打开模板文件【templets\default\article_article.htm】,将第5行左右的【<title>】中的【{dede:field.typename/}】改为【{dede:field.typenamefortitle/}】。
4.将以上修改的三个文件上传到服务器,重新生成页面,标题title就改成“文章标题_三级分类_二级分类_一级分类”的形式了。