在项目开发过程中了,或二次开发时,项目的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}
]