栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP > php开源框架 > 齐博CMS

自动添加自定义模板字段的方法 - 齐博CMS之X1

齐博CMS 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

自动添加自定义模板字段的方法 - 齐博CMS之X1

新提供某个页面的自定义模板给用户使用的话,需要给系统添加相应的字段。方法有两个,第一个是需要用户自己动手,如下 图所示。按下面的方法添加完之后,还需要进入相应的频道或插件参数设置那里添加上你的模板路径。相对来说这样的操作,对用户体验不是太好。太麻烦了。
![](https://img.kancloud.cn/ca/04/ca047118cd77e1ebd142cdb474e9a618_1184x664.png)

第二种方法就是开发者麻烦些,用户不需要做任何设置。进入频道或者是插件的程序目录下面找到upgrade目录,如果此目录不存在就新建这样一个目录,比如

`pluginsformupgrade` 这是万能表单插件的目录

`applicationcmsupgrade` 这是CMS频道的目录

`applicationcommonupgrade` 这是系统的目录

然后在相应的目录下面新建一个PHP文件,文件名首字母大写,比如`Abc.php`,为避免文件名冲突,建议以自己的个性用户名字母命名。效果如下图所示:
![](https://img.kancloud.cn/95/9e/959e34195bbae0b6a986cb245b32e388_1822x868.png)

代码如下,大家可以复制回去,对应的修改5处位置,如上图所示的位置


namespace pluginsformupgrade ; //插件的话,就是 plugins插件目录upgrade; 频道的话就是 app频道目录名upgrade; 系统就换成 appcommonupgrade;r
r
use thinkDb;r
r
class Abc{ //文件名,首字母写大写r
r
protected static $sysname = 'form'; //插件或频道目录名 系统就使用indexr
r
protected static $template = 'pc_index_signin_index_index'; //自定义模板变量名r
r
protected static $path = 'index_style/default/abc.htm'; //你所制作的模板路径,前台风格就index_style开头,会员中心就 member_style 开头 后台是 admin_style 开头r
r
protected static $title = '登录页PC模板路径'; //自定义模板的页面名称r
r
public static function up(){r
if (self::$sysname!='index') {r
if (modules_config(self::$sysname)) {r
$sysid = modules_config(self::$sysname)['id'];r
}else{r
$sysid = plugins_config(self::$sysname)['id'];r
$sysid = -$sysid;r
}r
}r
r
$ifsys = $type = 0;r
$template = self::$template;r
if (self::$sysname!='index') {r
$type = Db::name('config_group')->where('sys_id',$sysid)->value('id');r
} r
if (!$type || self::$sysname=='index') {r
$type = 1;r
$sysid = 0;r
}r
$path = self::$path;r
$title = self::$title;r
r
if (!Db::name('config')->where('sys_id',$sysid)->where('c_key',$template)->find()) {r
into_sql("INSERT INTO `qb_config` (`id`, `type`, `title`, `c_key`, `c_value`, `form_type`, `options`, `ifsys`, `htmlcode`, `c_descrip`, `list`, `sys_id`) VALUES(0, {$type}, '{$title}', '{$template}', '{$path}', 'text', '', $ifsys, '', '一般留空,index_style/开头,比如index_style/abc.htm', 0, '{$sysid}');r
");r
}else{r
Db::name('config')->where('sys_id',$sysid)->where('c_key',$template)->update([r
'c_value'=>$path,r
]);r
}r
}r
}r
r
r




这个文件创建好后,你可以本机测试看看有没有报错。
修改 `applicationindexcontrollerIndex.php`
查找`return $this->fetch('../index');`
在他上面一行添加如下代码
`pluginsformupgradeAbc::up();`
如下图所示,保存后,刷新几次网站主页,看看页面是否报错,没报错的话,就查看一下后台,是否自动加上了这个字段。
![](https://img.kancloud.cn/24/86/2486bc3cf93b37af8de86ee9d9cb9844_1389x870.png)
特别提醒一下,`pluginsformupgradeAbc::up();` 这个代码需要做相应的修改,如下图所示,必须有反斜杠开头,结尾`::up();`结尾
![](https://img.kancloud.cn/03/28/032881dd229c3ff32f3e569e9b9ac900_1562x681.png)

> 后续多人制作个性模板风格的话,我们会考虑提供一个插件,让他自动生成上面的升级文件。
,
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/214307.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号