CMS插件从1.0.15升级到1.0.16报错及注意事项!

Karson 3月前 407

CMS从1.0.16版本开始新增了自定义表单、前台投稿、会员发布功能,如果你是从旧版本升级过来,请务必在你的数据库中执行以下语句用于升级数据表结构,如果你的表结构不是fa_开始,请注意修改下表前缀。操作前请注意备份,最好是全量备份

CREATE TABLE IF NOT EXISTS `fa_cms_diyform`(
  `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
  `name` char(30) NOT NULL DEFAULT '' COMMENT '表单名称',
  `title` varchar(100) DEFAULT NULL COMMENT '表单标题',
  `keywords` varchar(100) DEFAULT NULL COMMENT '关键字',
  `description` varchar(255) DEFAULT NULL COMMENT '描述',
  `table` varchar(50) NOT NULL DEFAULT '' COMMENT '表名',
  `fields` text COMMENT '字段列表',
  `needlogin` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否需要登录',
  `successtips` varchar(255) DEFAULT NULL COMMENT '成功提示文字',
  `redirecturl` varchar(100) DEFAULT NULL COMMENT '成功后跳转链接',
  `formtpl` varchar(30) NOT NULL DEFAULT '' COMMENT '表单页模板',
  `diyname` varchar(30) DEFAULT NULL COMMENT '自定义名称',
  `createtime` int(10) DEFAULT NULL COMMENT '创建时间',
  `updatetime` int(10) DEFAULT NULL COMMENT '更新时间',
  `setting` varchar(1500) DEFAULT NULL COMMENT '表单配置',
  `status` enum('normal','hidden') DEFAULT 'hidden' COMMENT '状态',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='自定义表单表';

ALTER TABLE `fa_cms_channel` 
ADD COLUMN `iscontribute` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否可投稿' AFTER `showtpl`;

ALTER TABLE `fa_cms_fields` 
ADD COLUMN `diyform_id` int(10) NOT NULL DEFAULT 0 COMMENT '表单ID' AFTER `model_id`,
ADD COLUMN `iscontribute` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否可投稿' AFTER `updatetime`;

ALTER TABLE `fa_cms_archives` 
ADD COLUMN `user_id` int(10) NULL COMMENT '会员ID' AFTER `id`,
MODIFY COLUMN `status` enum('normal','hidden','rejected','pulloff') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'normal' COMMENT '状态' AFTER `deletetime`;

如果你使用的是旧版本FastAdmin,升级CMS后并不会在会员中心看到左侧链接,需要修改application/index/view/common/sidenav.html,修改成:

<div class="sidenav">
    {:hook('user_sidenav_before')}
    <ul class="list-group">
        <li class="list-group-heading">{:__('User center')}</li>
        <li class="list-group-item {:$config['actionname']=='index'?'active':''}"> <a href="{:url('user/index')}"><i class="fa fa-user-circle fa-fw"></i> {:__('User center')}</a> </li>
        <li class="list-group-item {:$config['actionname']=='profile'?'active':''}"> <a href="{:url('user/profile')}"><i class="fa fa-user-o fa-fw"></i> {:__('Profile')}</a> </li>
        <li class="list-group-item {:$config['actionname']=='changepwd'?'active':''}"> <a href="{:url('user/changepwd')}"><i class="fa fa-key fa-fw"></i> {:__('Change password')}</a> </li>
        <li class="list-group-item {:$config['actionname']=='logout'?'active':''}"> <a href="{:url('user/logout')}"><i class="fa fa-sign-out fa-fw"></i> {:__('Sign out')}</a> </li>
    </ul>
    {:hook('user_sidenav_after')}
</div>

也就是添加了{:hook('user_sidenav_before')}{:hook('user_sidenav_after')}这两个hook

升级后需要在插件管理,配置中修改CMS伪静态,追加一行

'diyform/index'  => '/cms/d/[:diyname]',

温馨提示

升级后默认自定义表单数据为空,可自行进行添加

升级后默认栏目和字段都是未开启投稿的,可自行按需添加

升级后请点击右上角清除缓存。

最后于 3月前 被Karson编辑
最新回复 (3)
  • maxbad 3月前
    感谢TA
    0 引用 2

    厉害了.. 什么时候支持整站生成HTML就好了

  • Baobab 3月前
    感谢TA
    0 引用 3

    thumbsup_tone1 投稿功能太棒啦!

  • 感谢TA
    0 引用 4

    感谢,一直在纠结这个问题,谢谢

  • 未登录
    5
返回