1.使用在线命令管理功能一键生成curd,其中如果包含有动态下拉列表,部分下拉列表会出现没有列表框内容的情况,
解决办法:
先找到下拉框的html,有以下两个属性,第一个表示请求的方法 填写为controller/selectpage 如果想要自定义方法,可以在common里边的父类复制出来一份selectpage 方法,然后修改即可.第二个表示的是一个自定义的扩展参数,我这里搜索的就是type=kecheng的下拉列表
data-source="category/selectpage" data-params='{"custom[type]":"kecheng"}'
一般情况下生成的下拉列表都可以显示出来,可以使用 data-field="title" 改变下拉列表显示的列数据,。
2.fastadmin 生成的搜索是包含所有字段的搜索,使用的是bootstrapTable这个插件,有部分不需要搜索的字段可以在columns内加上operate:false,如下,false则不作为搜索条件,like则使用模糊查询,不填写默认条件为相等
table.bootstrapTable({
url: $.fn.bootstrapTable.defaults.extend.index_url,
pk: 'id',
sortName: 'id',
columns: [
[
{checkbox: true},
// {field: 'id', title: __('Id'),operate:false},
{field: 'category_id', title: __('Category_id'),operate:false},
{field: 'lecturer', title: __('Lecturer'),operate: 'LIKE'},
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
]
]
});
3.fastadmin 的上传功能,上传图片就不说了,一般生成的都能使用,上传视频与音乐则不同,我这里数据库按照设置为文件上传,生成的组件需要自行添加上传的类型限制和大小,例如上传音频文件,在button上加上data-mimetype="mp3,wav,wma,ogg,ape,acc" data-maxsize="80M" ,还需要在php.ini中同步修改上传的大小,一个是上传文件的大小一个是post传输数据的大小两个都需要修改。
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Audiofile')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="input-group">
<input id="c-audiofile" class="form-control" size="50" name="row[audiofile]" type="text">
<div class="input-group-addon no-border no-padding">
<span><button type="button" id="plupload-audiofile" class="btn btn-danger plupload" data-input-id="c-audiofile" data-mimetype="mp3,wav,wma,ogg,ape,acc" data-maxsize="80M" data-multiple="false" data-preview-id="p-audiofile"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
<span><button type="button" id="fachoose-audiofile" class="btn btn-primary fachoose" data-input-id="c-audiofile" data-mimetype="mp3,wav,wma,ogg,ape,acc" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
</div>
<span class="msg-box n-right" for="c-audiofile"></span>
</div>
<ul class="row list-inline plupload-preview" id="p-audiofile"></ul>
</div>
</div>
4.fastadmin自定义后台数据表最后面的操作按钮,buttons内容就是自定义的内容,按照自定义的url写好方法以及html页面即可使用,这些功能都是属于bootstrapTable这个插件的功能,具体想做其他功能的可以自行百度查询
table.bootstrapTable({
url: $.fn.bootstrapTable.defaults.extend.index_url,
pk: 'id',
sortName: 'id',
columns: [
[
{checkbox: true},
// {field: 'id', title: __('Id')},
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate,
buttons:[
{
name: 'order_detail',
hidden:false,
title: '查看详情',
classname: 'btn btn-xs btn-success btn-dialog',
icon: 'fa fa-newspaper-o',
url: 'order/ordergoods/detail',
}]
, formatter: Table.api.formatter.operate}
]
]
});
暂时先更新到这里,以后遇到其他坑在填。