Пример #1
0
 /**
  * 分类信息列表
  */
 public function index()
 {
     // 初始化默认查询条件
     $request_struct_current = array('where' => array('site_id' => NULL), 'like' => array(), 'orderby' => array('id' => 'DESC'), 'limit' => array('per_page' => 20, 'offset' => 0));
     // 收集请求数据
     $request_data = $this->input->get();
     /* b2c类型的站点列表 */
     $site_id_list = role::check('product_category', 0, 0);
     // 权限验证
     if (empty($site_id_list)) {
         remind::set(Kohana::lang('o_global.access_denied'), request::referrer(), 'error');
     }
     if (isset($request_data['site_id']) && is_numeric($request_data['site_id']) && $request_data['site_id'] != -1) {
         if (!in_array($request_data['site_id'], $site_id_list)) {
             remind::set(Kohana::lang('o_global.access_denied'), request::referrer(), 'error');
         }
     }
     // 站点查询
     controller_tool::request_site($request_struct_current, $request_data, $site_id_list);
     // 排序处理
     controller_tool::request_orderby($request_struct_current, $request_data);
     // 每页条目数
     controller_tool::request_per_page($request_struct_current, $request_data);
     // 当前支持的查询业务逻辑
     if (isset($request_data['type']) && isset($request_data['keyword']) && !empty($request_data['keyword'])) {
         switch ($request_data['type']) {
             case 'id':
                 $request_struct_current['where'][$request_data['type']] = intval(trim($request_data['keyword']));
                 $request_data['keyword'] = $request_struct_current['where'][$request_data['type']];
                 break;
             case 'name_url':
                 $request_struct_current['where'][$request_data['type']] = trim($request_data['keyword']);
                 $request_data['keyword'] = $request_struct_current['where'][$request_data['type']];
                 break;
             case 'name':
                 $request_struct_current['like'][$request_data['type']] = trim($request_data['keyword']);
                 $request_data['keyword'] = $request_struct_current['like'][$request_data['type']];
                 break;
         }
     }
     //当前查询
     $request_struct_current['where']['virtual'] = 1;
     $count = Mycategory::instance()->count($request_struct_current);
     // 模板输出 分页
     $this->pagination = new Pagination(array('total_items' => $count, 'items_per_page' => $request_struct_current['limit']['per_page']));
     $request_struct_current['limit']['offset'] = $this->pagination->sql_offset;
     $category_list = Mycategory::instance()->lists($request_struct_current);
     foreach ($category_list as $key => $rs) {
         $category_list[$key]['site'] = Mysite::instance($rs['site_id'])->get();
         $category_list[$key]['parent_category'] = Mycategory::instance($rs['parent_id'])->get('name');
     }
     // 模板输出
     $this->template->content = new View("product/virtualcategory_list");
     // 变量绑定
     $this->template->content->category_list = $category_list;
     $this->template->content->count = $count;
     $this->template->content->request_data = $request_data;
     // 当前应用专用数据
     $this->template->content->site_list = Mysite::instance()->select_list($site_id_list);
     $this->template->content->category_level_list = Mycategory::instance()->sites_subcategories($site_id_list);
 }