多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
如下图所示的频道系统参数增加有几种方法 ![](https://img.kancloud.cn/3b/e1/3be1b6a16d18e7c32b43e0371ef1c83d_1558x786.png) > 第一种方法如下: > (这种方法更适合开发者自己使用) ![](https://img.kancloud.cn/8b/8e/8b8ed4f39bcd7fab6a1c0eff316ad481_1288x751.png) ***** ***** > 第二种方法如下: > (这种方法仅适合给用户升级使用。) ![](https://img.kancloud.cn/92/ca/92ca68cf795a75a9b9c37daed276a7c5_1552x691.png) 在相应频道目录下面新建一个文件,比如 `\application\qun\upgrade\U6.php` 代码类似如下 ``` <?php namespace app\qun\upgrade; use think\Db; class U6{ public static function up(){ $sysid = modules_config('qun')['id']; $type = Db::name('config_group')->where('sys_id',$sysid)->value('id'); into_sql("INSERT INTO `qb_config` (`type`, `title`, `c_key`, `c_value`, `form_type`, `options`, `ifsys`, `htmlcode`, `c_descrip`, `list`, `sys_id`, `is_open`) VALUES( {$type}, '论坛展示哪些圈子的VIP图标', 'show_vip_qun', '', 'text', '', 0, '', '输入圈子id,多个圈子用英文逗号,隔开', 0, {$sysid},0);"); } } ``` 关键点一:`namespace app\qun\upgrade;` 其中 `qun` 就是频道目录名 关键点二:`class U6` 其中 `U6` 就是文件目录名,注意首字母必须大写,文件名首字母也一样要大写。 关键点三:`modules_config('qun')['id']` 其中 `qun` 就是频道目录名 关键点四:从第一种方法中,把当前频道所有的参数配置导出来,如下图所示 ![](https://img.kancloud.cn/fe/50/fe50d5aff2a226660442ba1f7e838046_875x696.png) 把导出来的SQL语句中挑选出新增的字段,修改两项参数为变量。如下图详解 ![](https://img.kancloud.cn/3a/34/3a3474d50212bbc39fce2b6689871cd9_1792x602.png) 确切的说,就是把字段`type` 的具体值 -1 用变量 `{$type}`代替 。把字段`sys_id` 的具体值 用变量 `{$sysid}`代替 ***** ***** > 第三种方法如下: > (这种方法同时适合开发者与用户升级使用) ![](https://img.kancloud.cn/ff/3c/ff3ca098495ef87bde62681e8f7cd932_1578x887.png) 找到相应频道的程序控制文件,比如圈子频道的 `\application\qun\admin\Setting.php` 在`index`方法里增加下面的代码 ``` $this->config = [ [ 'c_key'=>'qun_user_show_claim', 'title'=>'哪些用户创建的'.QUN.'显示认领标志', 'c_value'=>'1,2,3', 'c_descrip'=>'多个用英文逗号隔开,比如1,2,3 认证或推荐的就不显示认领', 'form_type'=>'text', 'options'=>"", 'ifsys'=>0, 'list'=>-1, ], [ 'c_key'=>'post_auto_pass_group', 'title'=>'哪些用户创建的'.QUN.'自动通过审核', 'c_value'=>'', 'c_descrip'=>'不设置,则默认全通过审核', 'form_type'=>'checkbox', 'options'=>'app\common\model\Group@getTitleList@[{"id":["<>",2]}]', 'ifsys'=>0, 'list'=>0, ], [ 'c_key'=>'group_post_money', 'title'=>'发布主题对应用户组的虚拟币变化', 'c_descrip'=>'填负数才是扣积分,否则就是奖励积分,0或留空则不做处理', 'form_type'=>'usergroup', 'ifsys'=>0, 'list'=>-1, ], [ 'c_key'=>'group_topic_jftype', 'title'=>'发布主题奖励哪种虚拟币', 'c_descrip'=>'', 'c_value'=>'0', 'form_type'=>'jftype', 'ifsys'=>0, 'list'=>-1, ], [ 'c_key'=>'forbid_post_topic_phone_noyz', 'title'=>'未验证手机是否禁止发主题', 'c_value'=>'0', 'form_type'=>'radio', 'options'=>"0|不限\r\n1|未验证不允许发布", 'ifsys'=>0, 'list'=>-2, ], ]; ``` > 注意事项 > 第二种方法的好处是,用户升级后,还可以进 ”插件管理 ->开发者管理->参数选项管理“ 那里自行删除相应的字段。而第三种方法是无法删除的,即使删除了,系统也会自动补上,如果确实不想显示的话,就修改他的字段类型为隐藏字段即可解决。 > 最后再提醒一下开发者,第三种方法是根据频道自行增加的字段,另外X1框架系统也可以强制所有频道一起增加某些字段,如果要完全禁止系统给当前频道增加字段的话,就在当前的控制器文件里,增加一个方法,如下图所示 ![](https://img.kancloud.cn/57/fa/57fab7f0fd56b416cb7c2b43926f17af_1178x754.png) 即增加下面的方法。这样就可以彻底的避免X1框架系统给当前频道自动追加升级字段。 ``` protected function add_module_config(){ return []; } ```