之前使用fastadmin,自定义角色组,发现编辑/删除/修改等等权限可以直接权限管理中选择,然后用不同的角色登陆,会显示对应的权限按钮。此时有一个新的需求就是增加审核和批量审核,并且也增加对应的权限。
添加按钮
先不写功能,在对应的位置上加上审核按钮。在顶头位置的批量审核需要得到的样式如下:
原先的创建按钮方法为:
{:build_toolbar('refresh,edit,checkall')}
有时候不使用buid_toolbar来创建按钮,而是直接使用的
<a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('course/clabelong/del')?'':'hide'}"
title="{:__('Delete')}" >
{:__('Delete')}
这种方式来创建按钮,这样虽然很直观,但是实际上使用却很不方便,因为这里对于权限的判定可能是有问题的。期待的结果是直接使用build_toolbar方法,设置checkall为批量审核,check为审核方法,对于各个权限组可以直接调用。
修改build_toolbar方法到如下结果:
function build_toolbar($btns = NULL, $attr = [])
{
$auth = \app\admin\library\Auth::instance();
$controller = str_replace('.', '/', strtolower(think\Request::instance()->controller()));
$btns = $btns ? $btns : ['refresh', 'add', 'edit', 'del', 'import','checkall'];
$btns = is_array($btns) ? $btns : explode(',', $btns);
$index = array_search('delete', $btns);
if ($index !== FALSE) {
$btns[$index] = 'del';
}
$btnAttr = [
'refresh' => ['javascript:;', 'btn btn-primary btn-refresh', 'fa fa-refresh', '', __('Refresh')],
'checkall'=> ['javascript:;', 'btn btn-success btn-checkall btn-disabled disabled', 'fa fa-flag-checkered', ' 批量审核',