1.如何处理表单搜索条件的表名前缀
//获取搜索数组
$filter = json_decode($this->request->get('filter'),true);
$op = json_decode($this->request->get('op'),true);
//处理搜索数组
if(isset($filter['createtime'])){
$filter['st.createtime']=$filter['createtime'];
unset($filter['createtime']);
}
if(isset($op['createtime'])){
$op['st.createtime']=$op['createtime'];
unset($op['createtime']);
}
//重新设置相关搜索变量
$this->request->get(['filter'=>json_encode($filter)]);
$this->request->get(['filter'=>json_encode($op)]);
list($where, $sort, $order, $offset, $limit) = $this->buildparams();
2.在js的operate里面新增了一个按钮,打开了一个表单页面,页面的提交按钮提交后跳转到success页面,而并非是ajax提交后关闭弹窗
原因
:因为你这里自定义的表单方法,并没有在js下面找不到相关的js事件绑定
例如operate里面新增了这样一个按钮,功能是打开一个表单,并且填写后提交,提交后,页面关闭
{
name: 'addstock',
text: __('入库'),
title: __('商品入库'),
classname: 'btn btn-xs btn-info btn-dialog',
icon: 'fa fa-list',
url: $.fn.bootstrapTable.defaults.extend.detail_url,
callback: function (data) {
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
},
visible: function (row) {
//返回true时按钮显示,返回false隐藏
if (row.review_status != 0) {
return true;
} else {
return false;
}
}
}
在下面的js里面必须新增一个addstock()的方法,是和index(),add(),edit()这些方法平级的
edit: function () {
Controller.api.bindevent();
},
addstock:function () {
Controller.api.bindevent();
},
3.js里面的代码报错
Config.admin.isSuperAdmin报错,属性is undefined
后台在initialize初始化函数中,进行代码添加
$this->assignConfig("admin",["isSuperAdmin"=>$this->auth->isSuperAdmin()]);
4.fastadmin在config.php设置debug为false后,后台界面变成灰白色,并且很多界面js出错
原因:样式和js出错了,重新打包生成js和css就行了
命令行执行命令:php think min -m all -r all