public function lists()
 {
     // 解析列表规则
     $fields[] = 'openid';
     $fields[] = 'cTime';
     $fields[] = 'reserve_id';
     $girds['field'] = 'uid';
     $girds['title'] = '用户';
     $list_data['list_grids'][] = $girds;
     $girds['field'] = 'cTime|time_format';
     $girds['title'] = '增加时间';
     $list_data['list_grids'][] = $girds;
     $map['reserve_id'] = $this->reserve_id;
     $attribute = M('reserve_attribute')->where($map)->order('sort asc, id asc')->select();
     foreach ($attribute as &$fd) {
         $fd['name'] = 'field_' . $fd['id'];
     }
     foreach ($attribute as $vo) {
         $girds['field'] = $fields[] = $vo['name'];
         $girds['title'] = $vo['title'];
         $list_data['list_grids'][] = $girds;
         $attr[$vo['name']]['type'] = $vo['type'];
         if ($vo['type'] == 'radio' || $vo['type'] == 'checkbox' || $vo['type'] == 'select') {
             $extra = parse_config_attr($vo['extra']);
             if (is_array($extra) && !empty($extra)) {
                 $attr[$vo['name']]['extra'] = $extra;
             }
         } elseif ($vo['type'] == 'cascade' || $vo['type'] == 'dynamic_select') {
             $attr[$vo['name']]['extra'] = $vo['extra'];
         }
     }
     $fields[] = 'id';
     $girds['field'][0] = 'id';
     $girds['title'] = '操作';
     $girds['href'] = '[EDIT]&reserve_id=[reserve_id]&id=[id]|编辑,[DELETE]&reserve_id=[reserve_id]&id=[id]|	删除';
     $list_data['list_grids'][] = $girds;
     $list_data['fields'] = $fields;
     $param['reserve_id'] = $this->reserve_id;
     $param['model'] = $this->model['id'];
     $add_url = U('add', $param);
     $this->assign('add_url', $add_url);
     // 搜索条件
     $map = $this->_search_map($this->model, $fields);
     $page = I('p', 1, 'intval');
     $row = 20;
     $name = parse_name(get_table_name($this->model['id']), true);
     $list = M($name)->where($map)->order('id DESC')->selectPage();
     $list_data = array_merge($list_data, $list);
     foreach ($list_data['list_data'] as &$vo) {
         $value = unserialize($vo['value']);
         foreach ($value as $n => &$d) {
             $type = $attr[$n]['type'];
             $extra = $attr[$n]['extra'];
             if ($type == 'radio' || $type == 'select') {
                 if ($extra) {
                     $extArr = explode(' ', $extra[0]);
                     $d = $extArr[$d];
                 }
             } elseif ($type == 'checkbox') {
                 $extArr = explode(' ', $extra[0]);
                 foreach ($d as &$v) {
                     if (isset($extArr[$v])) {
                         $v = $extArr[$v];
                     }
                 }
                 $d = implode(', ', $d);
             } elseif ($type == 'datetime') {
                 $d = time_format($d);
             } elseif ($type == 'picture') {
                 $d = get_cover_url($d);
             } elseif ($type == 'cascade') {
                 $d = getCascadeTitle($d, $extra);
             }
         }
         unset($vo['value']);
         $vo = array_merge($vo, $value);
         $vo['uid'] = get_nickname($vo['uid']);
     }
     $this->assign($list_data);
     // dump ( $list_data );
     $this->display();
 }
Пример #2
0
function getCommonCategoryTitle($ids)
{
    $extra = 'type=db&table=common_category';
    return getCascadeTitle($ids, $extra);
}