紧急bug:文章排序后缩略图被删修复方法

发布日期: 2017-12-26 17:50:51

紧急bug!!!请按照本文修复。


使用composer create-project feehi/feehicms安装的用户稍后composer update更新到2.0.1版即可修复。


抱歉了,此bug影响所有feehicms版本。


bug复现: 当在后台文章首页列表对文章进行排序后,会造成缩略图被删除。


bug原因: 此原因是因为执行了model里的beforeSave方法,而beforeSave并不是事件,没法通过解除事件来处理,FeehiCMS的model都是覆盖了此方法。所以现在的解决方法是不使用ActiveRecord。


解决方法:

            编辑backend/actions/SortAction.php,

            修改33行大括号包含的内容,把原大括号内容替换为

        $primaryKey = $model->getPrimaryKey(true);
        if( empty($primaryKey) ) throw new \Exception("Cannot find primary key");
        $primaryKeyName = key($primaryKey);
        $primaryKeyValue = $primaryKey[$primaryKeyName];
        Yii::$app->db->createCommand("UPDATE {$this->modelClass::tableName()} SET $field='$value' WHERE $primaryKeyName='$primaryKeyValue'")->execute();

如图所示: