多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# addRightButton 用来在页面数据列表右侧的操作栏位置添加一个按钮 ## 方法原型 function addRightButton($type, $attribute = null){} ## 参数: | 参数 | 类型 | 是否必须 | 说明 | | ------------ | ------------ | ------------ | ------------ | | $type | string | 是 | 按钮类型,edit/forbid/recycle/restore/delete/self六种取值 | | $attribute | array | 否 | 按钮属性,一个定了标题/链接/CSS类名等的属性描述数组 | $attribute格式如下 $attr['name'] = 'edit2'; $attr['title'] = '编辑2'; $attr['class'] = 'label label-primary'; $attr['href'] = U('edit', array('id' => '__data_id__')); ## 预定义按钮 >为了大家使用更加方便,我们事先预定义了几种经常用到的按钮 主要有edit/forbid/recycle/restore/delete五种预定义按钮 其中forbid/recycle/restore/delete这4种类型有一个使用前提,那就是对应的数据表必须要有一个`status`字段 status:-1 删除状态 status:0 禁用状态 status:1 正常状态 使用示例: ```php // 使用Builder快速建立列表页面。 $builder = new \Common\Builder\ListBuilder(); $builder->setMetaTitle('文章列表') ->addRightButton('edit') // 编辑按钮 ->addRightButton('forbid') // 禁用按钮/启用按钮(根据status自动判断) ->addRightButton('recycle') // 回收按钮(status从1到-1) ->addRightButton('restore') // 恢复按钮(status从-1到1) ->addRightButton('delete'); // 删除按钮(删了就找不回了) ``` ## 自定义按钮 > 第一原则使用上面的预定义按钮,如果有特殊需求不能满足则使用此自定义按钮方法。 第一步:自定义按钮时首先需要给函数的第一个参数传值为`self`,只有设置了self才表示即将添加一个自定义按钮 第二步:定义一个数组类似array('title'=>'按钮名称', href='按钮链接', 'class'=>'按钮CSS类名'),然后把数组传给此函数的第二个参数 ### 注意: > 因为右侧按钮是针对某条记录的,所以ID是经常要用到的,比如编辑按钮。 这里因为在Listbuilder运行渲染页面是无法得到具体ID的,所以ListBuilder内置了__data_id__来作为替换变量,只要在链接里有会在数据foreach遍历阶段被替换成真实的ID 示例: ```php $attr['name'] = 'edit2'; $attr['title'] = '编辑2'; $attr['class'] = 'label label-primary'; $attr['href'] = U('edit', array('id' => '__data_id__')); // 使用Builder快速建立列表页面。 $builder = new \Common\Builder\ListBuilder(); $builder->setMetaTitle('文章列表') ->addRightButton('edit'); ->addRightButton('self', $attr); ``` >细心的人可能会发现->addRightButton('self', $attr)其实作用跟->addRightButton('edit')是一样的作用,只不过后者是预定义好的,比前者使用方便。 ### 根据条件显示按钮 有些按钮是根据数据状态不同显示不一样的,可以用以下方法。 ``php $attr['name'] = 'edit2'; $attr['title'] = '编辑2'; $attr['condition'] = array('status' => array('eq', '0')); $attr['class'] = 'label label-primary'; $attr['href'] = U('edit', array('id' => '__data_id__')); // 使用Builder快速建立列表页面。 $builder = new \Common\Builder\ListBuilder(); $builder->setMetaTitle('文章列表') ->addRightButton('edit'); ->addRightButton('self', $attr); ```