当前位置:首页 > 站长学院 > 建站教程 >

phpcmsv9增加{$prefix}自定义html文件名前缀功能

作者:齐鲁建站    发布时间:2020-08-18    阅读:
为了让网站拥有更好的SEO效果,会使用{$prefix}功能,这样有利于表前缀便于管理,也不容易和库中其他的表冲突,那么phpcms自定义html如何使用{$prefix}呢,今天齐鲁建站小编就来说说phpcmsv9增加{$prefix}自定义html文件名前缀功能。

今天在这里将于大家分享Phpcms v9自定义HTML文件名,也就是PC V9网址生成的优化:内容页HTML文件名称自定义技巧。

下面将一步一步来修改程序文件,一共涉及到model.sql、url.class.php、html.class.php这三个文件,并抓图做演示,最后提供所修改的文档下载!

一、修改model.sql

打开 phpcms\modules\content\fields\model.sql,找到:

`updatetime` int(10) unsigned NOT NULL default '0',

在下面增加代码:

`prefix` char(20) NOT NULL default '',

并在文件的最后一行增加一下代码:

INSERT INTO `$table_model_field` (`modelid`, `siteid`, `field`, `name`, `tips`, `css`, `minlength`, `maxlength`, `pattern`, `errortips`, `formtype`, `setting`, `formattribute`, `unsetgroupids`, `unsetroleids`, `iscore`, `issystem`, `isunique`, `isbase`, `issearch`, `isadd`, `isfulltext`, `isposition`, `listorder`, `disabled`, `isomnipotent`) VALUES($modelid, $siteid, 'prefix', 'html文件名', '请输入生成的HTML文件名,为空将系统默认。', '', 0, 20, '/^[0-9a-z]+$/i', '', 'text', 'array (\n  ''size'' => ''20'',\n  ''defaultvalue'' => '''',\n  ''ispassword'' => ''0'',\n)', '', '', '', 0, 1, 0, 0, 0, 0, 0, 0, 56, 0, 0);

二、修改url.class.php

打开 phpcms\modules\content\classes\url.class.php,找到68行的代码:

$day = date('d',$time);

在下面增加一下代码:

if($content_ishtml) {

 if($prefix) {

 $cid = $id;

 $id = $prefix;

 }

 }

并且,找到下面这一段代码:

//生成静态 ,在添加文章的时候,同时生成静态,不在批量更新URL处调用

 if($content_ishtml && $data) {

 $data['id'] = $id;

 $url_arr['content_ishtml'] = 1;

 $url_arr['data'] = $data;

 }

修改第二行$data['id'] = $id; 为

$data['id'] = $cid;

下一页,将修改第三个文件html.class.php,以及新增模型字段,并提供本文涉及到修改的文件下载,精彩下一页!

三、修改html.class.php

打开phpcms\modules\content\classes\html.class.php,找到代码:

$pageurls[$i] = $this->url->show($id, $i, $catid, $data['inputtime'],'','','edit',$upgrade);

修改为:

$pageurls[$i] = $this->url->show($id, $i, $catid, $data['inputtime'],$data['prefix'],'','edit',$upgrade);

到这里,修改的3个文件基本完成,需要注意的是:注意使用英文半角的引号和分号,以免产生错误!

四、模型添加prefix字段,让原有的模型显示自定义html文件名的编辑框

可以看出,在上面的修改中,已经定义了一个字段prefix当作html的文件名,但是prefix默认是没有数值的,于是需要在模型自定义字段中添加一个字段:prefix,在发表内容的时候填入自定义的html名称。

phpcmsv9增加{$prefix}自定义html文件名前缀功能

具体位置:后台》内容》模型管理》文章模型(也可以是其他模型)》字段管理,添加字段:

字段类型:单行文本,作为主表字段

字段名:prefix

字段别名:html文件名

字段提示:请输入生成的HTML文件名,为空将系统默认。

文本框长度:20

数据校验正则:/^[0-9a-z]+$/i

字符长度取值范围:0 20

值唯一:否

以下全选否

备注说明:关于“数据校验正则”这一点,可以为空,这样不限定输入的自定义html名称类型,这样可以输入下划线,中线,不然只能输入字母和数字了。比如http://www.qilucms.com/a/b.html,就需要输入下划线,那么就设置“数据校验正则”为空就好。

以上就是关于phpcmsv9增加{$prefix}自定义html文件名前缀功能的所有内容,有需要的朋友可以试试看了。

QQ客服
QQ客服
陈经理