完整案例
~~~
namespace app\admin\controller;
use app\admin\controller\Admin;
class Menu extends Admin
{
public function index($pid=0)
{
$list = DBuilder('Menu')->filter( ['keyword.title|url.%%','pid'] )
->setFilterVal( ['pid'=>$pid] )
->setOrder('sort desc,id asc')
->getLists();
return TBuilder('table',$this)->setRowList($list) // 设置表格数据
->setColumns([ // 批量设置数据列
['id', 'ID'],
['title', '名称'],
['pid', '上级菜单',['func'=>'get_parent_menu_name']],
['group', '分组',],
['url', 'URL',['type'=>'url', 'url'=>'menu/index', 'p'=>'id.pid']],
['icon_class', 'ICON',],
['sort', '排序',],
['is_dev', '仅开发者模式显示', ['func'=>'yes_no']],
['hide', '隐藏', ['func'=>'yes_no']],
['edit,del', '操作', ['type'=>'btn']]
])
->addTopButtons('add,sort') // 批量添加顶部按钮
->addFilters([// 添加文本输入筛选筛选
['keyword','请输入关键词','input'],
])
->fetch();
}
}
~~~