前段时间用PHPCMS V9做了一个网站,用过PHPCMS V9的都知道,PHPCMS V9中生成出来的链接URL是带有域名的,做好之后客户要求把链接中的域名取消掉,采取绝对链接的方式展现,由于以前也没有做过,于是我在网上搜答案,结果找了很久都没有找到,于是自己尝试着修改,花了很长时间后终于搞定了,下面就把干货分享给大家——phpcms v9 删除链接URL中的域名,希望对有需要的朋友能有所帮助。
有两种方法可以修改PHPCMS V9 删除链接URL中的域名
方法一:通过模板修改(推荐)
在制作模板文件的时候,当有获取url地址,或者图片地址的时候,把域名者替换成空,此种方法不会修改系统的核心文件,对以后系统升级无影响。
参考代码
- <a href="{$r[url]}" target="_blank">{$r[title]}</a>
- 替换成以下代码
- <a href="{str_replace(siteurl($siteid),'',$r[url])}" target="_blank">{$r[title]}</a>
- 或
- <a href="/{str_replace(APP_PATH,'',$r[url])}" target="_blank">{$r[title]}</a>
总结:
优点:不会修改系统的核心文件,对以后系统升级无影响。
缺点:不会修改数据库中的URL数据
方法二、通过修改PHPCMS V9中的系统文件
1、删除添加文章时增加的域名URL
路径:/phpcms/model/content_model.class.php 第103行左右
- $this->update(array('url'=>$urls[0]),array('id'=>$id));
- //替换为下面代码
- $this->update(array('url'=>$urls[1]),array('id'=>$id));
2、删除编辑文章时的URL中域名
路径:/phpcms/model/content_model.class.php 第289行左右
- $systeminfo['url'] = $urls[0];
- //替换为下面代码
- $systeminfo['url'] = $urls[1];
3、批量更新URL中域名
路径:/phpcms/modules/content/create_html.php 第193行左右
- $url = $urls[0];
- //替换为下面代码
- $url = $urls[1];
总结
优点:直接替换数据库中URL,一步到位。
缺点:此种方法操作修改的是PHPCMS V9的核心代码,在以后升级的时候有可能会造成文件被替换,如果升级以后出现问题,请重复上面操作即可。
转载链接:http://www.devdo.net/phpcmsv9-remove-link.html