作用
使用通用数据列表视图的时候,可以通过setListSearch设置数据的搜索条件,实现列表页数据搜索功能。例如下面的在消息管理列表页,通过setListSearch(array( 'msgtype' => '消息类型', 'content' => '消息内容' )
设置通过消息类型和消息内容进行消息的搜索。msgtype和content均为mp_message数据表里的字段。
示例
视图类实现
/**
* 消息列表
* @author 艾逗笔<765532665@qq.com>
*/
public function lists() {
$custom = array(
'options' => array(
'save_to_material' => array(
'title' => '保存为素材',
'url' => U('save_to_material', array('msgid'=>'{msgid}')),
'class' => 'btn btn-sm btn-primary icon-signup'
),
'reply_message' => array(
'title' => '回复消息',
'url' => U('reply_message', array('msgid'=>'{msgid}')),
'class' => 'btn btn-sm btn-info icon-topic'
)
)
);
$this->addCrumb('公众号管理', U('Mp/Index/index'), '')
->addCrumb('消息管理', U('Mp/Message/lists'), '')
->addCrumb('消息列表', '', 'active')
->addNav('消息列表', '', 'active')
->setModel('mp_message')
->setListMap(array('mpid'=>get_mpid()))
->setListOrder('create_time desc')
->setListSearch(array(
'msgtype' => '消息类型',
'content' => '消息内容'
))
->addListItem('msgtype', '消息类型', 'enum', array('options'=>array('text'=>'文本消息','image'=>'图片消息','voice'=>'语音消息','shortvideo'=>'短视频消息','location'=>'地理位置消息','link'=>'链接消息')))
->addListItem('msgid', '消息内容', 'callback', array('callback_name'=>'get_message_content'))
->addListItem('create_time', '消息发送时间', 'function', array('function_name'=>'date','params'=>'Y-m-d H:i:s,###'))
->addListItem('openid', '粉丝头像', 'function', array('function_name'=>'get_fans_headimg'))
->addListItem('openid', '粉丝昵称', 'function', array('function_name'=>'get_fans_nickname'))
->addListItem('msgid', '操作', 'custom', $custom)
->common_lists();
}
模型实现
$model['list_search'] = array('msgtype' => '消息类型','content' => '消息内容' );
list_search对应的搜索条件数组键值对中的键必须是模型对象(数据表)中存在的字段,值为搜索框中显示的搜索条件名称。