# 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);
```
- 简介
- 环境要求
- 安装系统
- 目录结构
- 常见问题
- 基础知识
- 编辑器
- 前端规范
- 前端框架文档
- Builder教程
- Builder的来历
- ListBuilder使用
- setMetaTitle
- addTopButton
- setSearch
- addSearchItem
- setTabNav
- addTableColumn
- setTableDataList
- setTableDataListKey
- setTableDataPage
- addRightButton
- alterTableData
- setExtraHtml
- setTemplate
- FormBuilder使用
- setMetaTitle
- setTabNav
- setExtraItems
- setPostUrl
- addFormItem
- setFormData
- setExtraHtml
- setAjaxSubmit
- setTemplate
- 扩展FormBuilder
- 模块开发
- 创建模块
- 描述文件
- 模型( M )
- 模版( V )
- 控制器( C )
- API接口
- 核心模块
- 文件上传
- 微信小程序模块
- 注册登陆接口
- 钱包模块
- 统一支付
- Cms模块
- 幻灯片接口
- 文档列表接口
- 文档详情接口
- 发表评论接口
- 评论列表接口
- 收藏的文档接口
- 收藏接口
- 分类列表接口
- IM模块
- 发送消息接口
- 最近聊天列表接口
- 查询新消息接口
- 插件相关
- 短信插件
- 支付插件
- 支付宝支付
- 微信支付
- 站群模块
- 模板开发
- 准备工作
- 目录结构
- 数据调用
- 专题
- 插件开发
- 图片显示
- 获取用户信息
- 判断用户登陆
- 表单提交AjaX
- 文件上传
- 2.0兼容写法
- 模板标签
- 核心模块
- Cms模块
- 栏目分类调用
- Cordova
- 配置跨域支持
- 本地开发调试教程
- 打包成apk和ipa
- 自定义APP信息
- 常见问题
- 申请Apple开发者账户
- 多主题开发
- 新建主题
- 目录结构
- 模板变量
- 定制安装部署