在项目开发过程中了,或二次开发时,项目的MVC文件已经做了大量的修改,不能直接使用后台的一键生成CURD来重新生成相关的文件了。
需要我们手工去改相关的文件了。
比如:数据库 状态字段的值 做了修改,去掉了其中一项。
1、控制器 ->C
检查关联查询/数据限制有没有配置,这个涉及关联数据能不能查出来。
protected $relationSearch = true; //关联查询
protected $dataLimit = 'auth'; //默认基类中为false,表示不启用,可额外使用auth和personal两个值
protected $dataLimitField = 'admin_id'; //数据关联字段,当前控制器对应的模型表中必须存在该字段
2、模型 -> M
在模型/模块文件中
public function getStatusList()
{
return ['0' => __('Status 0'), '1' => __('Status 1'), '2' => __('Status 2')];
}
3、视图
去掉 数据列表上面的 更多 按钮 :修改 \application\admin\view\pim\schedule\index.html 文件
<!-- <div class="dropdown btn-group {:$auth->check('pim/schedule/multi')?'':'hide'}"> <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a> <ul class="dropdown-menu text-left" role="menu"> {foreach name="statusList" item="vo"} <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:" data-params="status={$key}">{:__('Set status to ' . $key)}</a></li> {/foreach} </ul> </div> -->
4、语言配置
\application\admin\lang\zh-cn\pim\schedule.php
<?php return [ 'Id' => 'ID', 'Admin_id' => '所属用户', 'Stime' => '开始时间', 'Etime' => '结束时间', 'Title' => '标题', 'Content' => '内容', 'Attachfile' => '附件', 'Status' => '状态', 'Status 0' => '未开始', 'Set status to 0'=> '设为未开始', 'Status 1' => '进行中', 'Set status to 1'=> '设为进行中', 'Status 2' => '已结束', 'Set status to 2'=> '设为已结束', 'Createtime' => '创建时间', 'Updatetime' => '更新时间', 'Deletetime' => '删除时间', 'Weigh' => '权重' ];
5、前端配置
\application\admin\lang\zh-cn\pim\schedule.php
这里可以配置数据表展示的列,以及数据项的内容如果来源其他表,可以在这里定义数据源,也可以定义数据项是否为搜索项
columns: [ [ {checkbox: true}, {field: 'id', title: __('Id')}, {field: 'admin_id', title: __('Admin_id')}, {field: 'stime', title: __('Stime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, {field: 'etime', title: __('Etime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, {field: 'title', title: __('Title'), align: 'left', operate: 'LIKE' }, {field: 'attachfile', title: __('Attachfile'), operate: false, formatter: Table.api.formatter.file}, {field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1'),"2":__('Status 2')}, formatter: Table.api.formatter.status}, {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} ]