crx349 发表于 2022-2-27 01:45:26

FastAdmin 使用过程中BUG修复

一、使用 在线命令 富文本编辑器 不显示bug
解决:
一键CRUD说明中的示例指令是 --editorclass=xmspace
插件“在线命令”生成指令是 --editorsuffix=xmspace
实际运行一键CRUD后无效。

生成编辑器字段的达到条件为:
1、字段是 text 类型:text,tinytext,smalltext,mediumtext,longtext
否则不会生成textarea元素,而仅生成input元素。
2、按照 --editorclass=abcabc执行。
3、检查生成view中的add、edit页面,对应“abcabc”应生成正确的textarea元素,并可能需要手工添加 class="form-control editor"中的editor。查找 add.html、edit.html中的以下代码


<textarea id="c-content_cn" data-rule="required" class="form-control editor" rows="5" name="row" cols="50">{$row.content_cn|htmlentities}</textarea>

统一解决办法:
application\admin\command\Crud.php
(1)
->addOption('editorclass', null, Option::VALUE_OPTIONAL, 'automatically generate editor class', null)
改为
->addOption('editorsuffix', null, Option::VALUE_OPTIONAL, 'automatically generate editor class', null)
(2)
$editorclass = $input->getOption('editorclass');
改为
$editorsuffix = $input->getOption('editorsuffix');
(3)
if ($editorclass) {
    $this->editorClass = $editorclass;
}
改为
if ($editorsuffix) {
    $this->editorSuffix = $editorsuffix;
}
这个修改后 更新缓存

二、在线命令 关联模型不显示下拉列表
game 和 game_type 通过id相互关联
game表 的 game_type_id 与 game_type 里的 id 关联,显示name_cn字段
如果使用关联模型生成,会出现 game在选择game_type关联下拉不显示。
解决办法:
(1)add.html和edit.html里面修改
<div class="form-group">
      <label class="control-label col-xs-12 col-sm-2">{:__('Game_type_id')}:</label>
      <div class="col-xs-12 col-sm-8">
            <input id="c-game_type_id" data-rule="required" data-source="game/type/index" class="form-control selectpage" name="row" type="text" value="">
      </div>
    </div>
改成
<div class="form-group">
      <label class="control-label col-xs-12 col-sm-2">{:__('Game_type_id')}:</label>
      <div class="col-xs-12 col-sm-8">
            <input id="c-game_type_id" data-rule="required" data-source="game_type/index" data-field="name_cn" class="form-control selectpage" name="row" type="text" value="">
      </div>
    </div>

(2)在关联模型里面如果默认名称不是name也会错

需要指定 data-field="" 如:data-field="name_cn"
(3)在app\common\model\game.php这个模型里面的 type关联函数要修改,否则列表显示报错
$this->belongsTo('app\common\model\game\Type',
改成
$this->belongsTo('app\common\model\GameType',
三、在线命令 Model和控制器生成生成不是驼峰的bug
使用命令 以下
php think crud --table=fa_game_type --local=0
生成带下划线数据表模型和控制器时 会出现模型和控制器多了一层目录,导致菜单生成错误显示
需要改成这个命令 在cmd或ssh下执行
php think crud --table=fa_game_type --local=0 -c GameType -m GameType

以上问题 在1.3.3.20220121上配合在线命令1.0.6使用时出现,但是同版本在线命令在1.2.0.20210401_beta下并不会出现 问题一 问题三 ,总结一点,插件和系统版本不太配套,且用且修bug吧,记录下,后面出现好解决。
页: [1]
查看完整版本: FastAdmin 使用过程中BUG修复