正在加载周涛博客
自留地
切勿乱来!
        找回密码

PHPCMS V9 默认TAG改成id形式

PHPCMSV9的默认TAG控制器是采用GET中文关键词的形式来读取keyword表内的关键词,读取对应的id和内容进行的展现,很多人认为中文url不好,有说太长的,因为中文url被浏览器转码确实很长,也有说不好看的,还有说影响SEO的,所以,我出个教程来改一下吧

打开/phpcms/modules/content/tag.php

在lists方法内找到

		$tag = safe_replace(addslashes($_GET['tag']));
		$keyword_data_db = pc_base::load_model('keyword_data_model');
		//获取标签id
		$r = $this->keyword_db->get_one(array('keyword'=>$tag, 'siteid'=>$this->siteid), 'id');

改成:

		$keyword_data_db = pc_base::load_model('keyword_data_model');
		if ($_GET['id']) {
			$id = safe_replace(addslashes($_GET['id']));
			$v = $this->keyword_db->get_one(array('id'=>$id, 'siteid'=>$this->siteid), 'id,keyword');
		} else {
			$tag = safe_replace(addslashes($_GET['tag']));
			$v = $this->keyword_db->get_one(array('keyword'=>$tag, 'siteid'=>$this->siteid), 'id,keyword');
		}

这样一改,可以实现中文和id形式并存,如下:

中文形式:index.php?m=content&c=tag&a=lists&tag=中文

ID形式:index.php?m=content&c=tag&a=lists&id=5

继续向下:

找到:

		if (!$r['id']) showmessage('不存在此关键字!');
		$tagid = intval($r['id']);

看到里面的$r没有,改成$v

接着往下:

53-54行(大约)里面找到$tag改成$v['keyword'] 共四处

然后找到:

$SEO = seo($siteid, '', $tag);

改成

$SEO = seo($siteid, '', $v['keyword']);

接下来就是改模板,因为模板有一处显示GET来的标签名称

/phpcms/templates/default/content/tag_list.html的第五行的标签后面{$tag}改成{$v['keyword']}

哦也,大功告成

赞(3) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《PHPCMS V9 默认TAG改成id形式》
文章链接:https://www.ediok.cn/blog/2020/10/4968.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

评论前必须登录!

 

关注互联网发展前沿,关注PHPCMS技术演进,钻研PHPCMS技术开发

模块开发联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏