
第二种方法就是开发者麻烦些,用户不需要做任何设置。进入频道或者是插件的程序目录下面找到upgrade目录,如果此目录不存在就新建这样一个目录,比如
`pluginsformupgrade` 这是万能表单插件的目录
`applicationcmsupgrade` 这是CMS频道的目录
`applicationcommonupgrade` 这是系统的目录
然后在相应的目录下面新建一个PHP文件,文件名首字母大写,比如`Abc.php`,为避免文件名冲突,建议以自己的个性用户名字母命名。效果如下图所示:

代码如下,大家可以复制回去,对应的修改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();`
如下图所示,保存后,刷新几次网站主页,看看页面是否报错,没报错的话,就查看一下后台,是否自动加上了这个字段。

特别提醒一下,`pluginsformupgradeAbc::up();` 这个代码需要做相应的修改,如下图所示,必须有反斜杠开头,结尾`::up();`结尾

> 后续多人制作个性模板风格的话,我们会考虑提供一个插件,让他自动生成上面的升级文件。
,



