1、使用场景:
本组件适用与可选项非常多的表单选择情形。例如选择会员,系统会员千千万,不可能通过下拉列表的形式选择。此时可以使用本组建通过弹出辅助页面来实现选择,然后返回选择结果给表单页。
2、参数说明:
参数 | 说明 | action | 指明弹出页地址,采用系统标准URL格式 | choose_title | 选择按钮标题,默认为'请选择' | 3、代码示例:
array('type'=>'choose','title'=>'会员ID','name'=>'mid','action'=>'core/member.get_member/'),4、弹出页面的写法:
弹出页面既可以通过htmls数组声明,也可自己自定义弹出页页面样式,在返回数据的地方,调用modal_result()方法返回即可!
如果是声明htmls数组,其他的和普通列表页写法一致,关键在于列表右侧操作按钮增加一个类型为modal_result的按钮,然后通过name字段指明要返回的字段即可!
弹出页代码示例:
以下为会员选择弹出页代码,代码路径:/manage/actions/member/get_member.php
defined('BY_JYA') or exit('error');$_RQ['op']=$_RQ['op']?$_RQ['op']:'one';$return=array();//会员列表$pindex = max(1, intval($_RQ['page']));$psize = 10;$return['params']=$params=array();$params=array('uniacid'=>$_SESSION['uniacid']);$fields=array('username','nickname','mobile');if($_RQ['find']){ $field=in_array($_RQ['field'],$fields)?$_RQ['field']:'nickname'; $params[$field.' like']='%'.$_RQ['find'].'%'; $return['params']['find']=$_RQ['find']; $return['params']['field']=$field;}$search_fields=array('id','username','mobile','nickname','avatar','from_os');$list=pdo_getslice('core_members',$params,array($pindex,$psize),$total,$search_fields,'','id desc');if($list){ foreach($list as &$item){ $item['ostitle']=get_ostitle()[$item['from_os']]; //下面整理返回数据 if($_RQ['op']=='many'){ $item['res']=array('mid'=>$item['id'],'title'=>$item['nickname'],'image'=>$item['avatar']); }else{ $item['res']=$item['id']; } }}$return['list']=$list;$totalpage=ceil($total/$psize);$totalpage=intval($totalpage);$return['totalpage'] =$totalpage;$return['params']['page'] =$pindex;$return['htmls']=array( 'type'=>'list', 'tabs'=>array( array('op'=>'list','title'=>'会员列表'), ), 'list'=>array('data'=>'list','del_one'=>false,'delall'=>false,'edit'=>false,'list'=>array( array('name'=>'id','title'=>'会员id','type'=>'string'), array('name'=>'username','title'=>'会员账号','type'=>'string'), array('name'=>'mobile','title'=>'电话','type'=>'string'), array('name'=>'nickname','title'=>'昵称','type'=>'string'), array('name'=>'ostitle','title'=>'来源','type'=>'string'), array('name'=>'avatar','title'=>'头像','type'=>'image'), ),'action'=>array( array('type'=>'modal_result','name'=>'res','title_field'=>'nickname','title'=>'选取'), )), 'search_one'=>array('name'=>'find','select_name'=>'field','select_title'=>'筛选','is_radio'=>true,'options'=>'fields'),);$return['fields']=array( 'username'=>'会员账号', 'nickname'=>'会员昵称', 'mobile'=>'会员手机',);exi($return); |