织梦DEDECMS文章拼音命名规则时怎么去掉id
- 行业动态
- 2024-04-19
- 1
织梦DEDECMS文章拼音命名规则去掉ID的方法
1. 问题描述
在织梦DEDECMS系统中,文章的URL默认是按照“年/月/日/ID.html”的规则来命名的,为了更好地进行SEO优化,我们希望能够将URL中的ID去掉,改为按照文章标题的拼音来命名。
2. 解决方案
要实现这个功能,我们需要修改织梦DEDECMS系统的文件,具体步骤如下:
2.1 修改数据库表结构
我们需要修改数据库中的数据表结构,将arctiny表中的typedir字段类型修改为varchar,以便存储文章标题的拼音。
ALTER TABLE arctiny MODIFY COLUMN typedir VARCHAR(255) NOT NULL;
2.2 修改文件
接下来,我们需要修改以下几个文件:
2.2.1 修改arc.listview.class.php文件
找到arc.listview.class.php文件,修改GetArcList方法,将文章标题的拼音赋值给typedir字段。
function GetArcList($row, $reid = 0) { $row = parent::GetArcList($row, $reid); if ($this>TypeLinkUrl != '') { $pinyin = new Pinyin(); foreach ($row as $k => $v) { $v[3]['typedir'] = $pinyin>getPinyin($v[3]['title']); } } return $row; }
2.2.2 修改arc.archives.class.php文件
找到arc.archives.class.php文件,修改GetArcInfo方法,将文章标题的拼音赋值给typedir字段。
function GetArcInfo($aid) { $row = parent::GetArcInfo($aid); if ($this>TypeLinkUrl != '') { $pinyin = new Pinyin(); $row['typedir'] = $pinyin>getPinyin($row['title']); } return $row; }
2.2.3 修改arc.arcurl.class.php文件
找到arc.arcurl.class.php文件,修改GetArcUrl方法,将生成的URL中的ID去掉。
function GetArcUrl($aid, $page, $r, $addon) { $arcinfo = ArcArchives::GetArcInfo($aid); $typedir = $arcinfo['typedir']; $arcurl = $this>TypeLinkRul($typedir); $arcurl .= '/' . $arcinfo['dateline'] . '.html'; return $arcurl; }
2.3 更新缓存
完成以上修改后,需要更新系统的缓存,登录织梦后台,点击“更新缓存”按钮即可。
至此,我们已经成功地实现了在织梦DEDECMS系统中去掉文章URL中的ID,改为按照文章标题的拼音来命名。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/314675.html