学习fastadmin的几个特殊字段:
1、weigh 字段
就是可以在前台表格的操作列进行拖动排序。表结构中增加weigh字段,用curd生成的代码中,前台操作列显示一个可以拖动进行排序的按钮。如下图:
2、status字段
要注意,建表结构时,需要按照要求写字段的注释,不然对应的汉字生成不了
字段 | 注释内容 | 字段类型 | 字段说明 |
---|---|---|---|
status | 状态 | int | 将生成普通语言包和普通文本框 |
status | 状态 | enum(‘0’,’1’,’2’) | 将生成普通语言包和单选下拉列表,同时生成TAB选项卡 |
status | 状态:0=隐藏,1=正常,2=推荐 | enum(‘0’,’1’,’2’) | 将生成多个语言包和单选下拉列表,同时生成TAB选项卡,且列表中的值显示为对应的文字## |
3、delete time字段
使用时要想生效,需要在app/model 下对应的文件中,写如下代码:
// 自动写入时间戳字段
protected $autoWriteTimestamp = 'datetime';
// 定义时间戳字段名
protected $createTime = 'createtime';
protected $updateTime = 'updatetime';
protected $deleteTime = 'deletetime';
deletetime | 删除时间 | bigint/datetime | 记录删除时间的字段,不需要手动维护,如果存在此字段将会生成回收站功能,字段默认值务必为null |
具体使用步骤:参考来源:fastadmin怎么手动添加回收站-猫叔的编程圈
1.修改数据表,新增deletetime字段
2.修改对应的模型
use traits\model\SoftDelete;
//...
use SoftDelete;
//...
protected $deleteTime = 'deletetime';
3.修改index.html页面,新增回收站按钮
<a class="btn btn-success btn-recyclebin btn-dialog {:$auth->check('ceshi66/recyclebin')?'':'hide'}" href="ceshi66/recyclebin" title="{:__('Recycle bin')}"><i class="fa fa-recycle"></i> {:__('Recycle bin')}</a>
4.新增recyclebin.html页面
复制一个回收站html页面到当前index.html同级目录下
5.修改对应的js页面,新增回收站事件
recyclebin: function () {
// 初始化表格参数配置
Table.api.init({
extend: {
'dragsort_url': ''
}
});
var table = $("#table");
// 初始化表格
table.bootstrapTable({
url: 'ceshi66/recyclebin' + location.search,
pk: 'id',
sortName: 'id',
columns: [
[
{checkbox: true},
{field: 'id', title: __('Id')},
{field: 'title', title: __('Title'), align: 'left'},
{
field: 'deletetime',
title: __('Deletetime'),
operate: 'RANGE',
addclass: 'datetimerange',
formatter: Table.api.formatter.datetime
},
4、category_id字段
参考文档:FastAdmin框架中,数据库特殊字段category_id的使用_category在fastadmin里的用法-CSDN博客
之后在官方文档中查东西的时候,无意间看到了这么一句说明:“默认的category_id字段,会将表名做为筛选条件,如对fa_test表做CRUD,则类型为test,如对fa_test_copy做CRUD,则类型为test_copy,务必前往常规管理->系统配置->字典配置->分类类型中添加上对应的类型,然后再到分类管理录入数据后才会生效,否则在Selectpage下拉时会为空。”,这句描述应该算是比较详细的描述了,官方论坛问答中的回答都没有这个详细,看了这个就基本懂了。
5、user_id admin_id 字段
这两个字段是在前台常规管理——系统配置中,把字典配置加上后才实现的。
字段 | 字段名称 | 字段类型 | 字段说明 |
---|---|---|---|
user_id | 会员ID | int | 将生成选择会员的SelectPage组件,单选 |
user_ids | 会员ID集合 | varchar | 将生成选择会员的SelectPage组件,多选 |
admin_id | 管理员ID | int | 将生成选择管理员的SelectPage组件 |
admin_ids | 管理员ID集合 | varchar | 将生成选择管理员的SelectPage组件,多选 |
category_id | 分类ID | int | 将生成选择分类的下拉框,分类类型根据去掉前缀的表名,单选 |
category_ids | 分类ID集合 | varchar | 将生成选择分类的下拉框,分类类型根据去掉前缀的表名,多选 |
6、仿照特殊字段,实现选择商品信息的功能
1、数据库中新增goods_id 字段
2、lang/zh-cn ceshi_tszd.php中增加汉字
<?php
return [
'Id' => '测试id',
'Goods_id' => '测试商品选择'
];
3、add页面中增加文本框,修改为与数据库中字段名称一致
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Goods_id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-goods_id" data-rule="required" data-source="services.goods/index" data-field="name" class="form-control selectpage" name="row[goods_id]" type="text" value="">
</div>
</div>