# addSearchItem
零云商业版(OpenCMF)、零云商城(lyshop)才有此功能,其他版本不支持
注意如果设置了此方法,那么setSearch的文本框搜索会自动隐藏,setSearch的url作为搜索提交地址属性仍然有效。
多条件搜索,在列表顶部显示多个类型条件用于数据的高效筛选,可选的类型有text、radio、select、date、 datetime、dateranger等
## 方法原型
function addSearchItem ($template){}
## 参数
| 参数 | 类型 | 是否必须 | 说明 |
| ------------ | ------------ | ------------ | ------------ |
| $name | string | 是 | 字段名称 |
| $type | string | 是 | 表单类型(可以取值的类型text、radio、select、date、 datetime、dateranger) |
| $title | string | 是 | 表单标题 |
| $options | array | 否 | 表单options(radio、select等类型的选项类似array('username' => '用户名', 'email' => '邮箱', 'mobile' => '手机号')) |
## 用法示例
// 使用Builder快速建立列表页面。
$builder = new \Common\Builder\ListBuilder();
$builder->setMetaTitle('用户列表')
->setTableDataPage($page->show())
->addSearchItem('status', 'select', '状态' ,'状态', array('1' => '正常', '0' => '已禁用', '-1' => '已删除'))
->addSearchItem('reg_type', 'select', '注册来源' ,'注册时间', array('username' => '用户名', 'email' => '邮箱', 'mobile' => '手机号'))
->addSearchItem('create_time', 'dateranger', '注册时间' '注册时间')
->addSearchItem('keyword', 'text', '关键字','用户名/邮箱/手机号等')
->display();
// 与多条件筛选匹配的控制器代码参考如下:
// 多条件筛选
if (isset($_GET['status'])) {
$map['status'] = $_GET['status'];
} else {
$_GET['status'] = '1';
$map['status'] = $_GET['status'];
}
if ($_GET['reg_type']) {
$map['reg_type'] = $_GET['reg_type'];
}
if ($_GET['create_time']) {
$create_time = explode('~', $_GET['create_time']);
$map['create_time'] = array(array('gt', strtotime($create_time[0])),array('lt', strtotime($create_time[1]) + 86400));
}
$keyword = I('keyword', '', 'string');
$condition = array('like','%'.$keyword.'%');
$map['id|username|nickname|email|mobile'] = array(
$condition,
$condition,
$condition,
$condition,
$condition,
'_multi'=>true
);
- 简介
- 环境要求
- 安装系统
- 目录结构
- 常见问题
- 基础知识
- 编辑器
- 前端规范
- 前端框架文档
- 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开发者账户
- 多主题开发
- 新建主题
- 目录结构
- 模板变量
- 定制安装部署