query($sql)); $Page = new \Think\Page($count,C('BACK_PAGE_NUM')); $show = $Page->show();// 分页显示输出 $sql.=' order by special_id desc LIMIT '.$Page->firstRow.','.$Page->listRows; $list=M()->query($sql); foreach ($list as $key => $value) { $value['image']=resize($value['special_bgimage'], 100, 100); $list[$key]= $value; } return array( 'empty'=>'~~暂无数据', 'list'=>$list, 'page'=>$show ); } /** * 编辑专题项目启用状态 * @param string usable-启用/unsable-不启用 * @param int $item_id * @param int $special_id * */ public function editMbSpecialItemUsableByID($usable, $item_id, $special_id) { $update = array(); if($usable == 'usable') { $update['item_usable'] = 1; } else { $update['item_usable'] = 0; } return $this->editMbSpecialItemByID($update, $item_id, $special_id); } /** * 编辑专题项目 * @param array $update * @param int $item_id * @param int $special_id * @return bool * */ public function editMbSpecialItemByID($update, $item_id, $special_id) { if(isset($update['item_data'])) { $update['item_data'] = serialize($update['item_data']); } $condition = array(); $condition['item_id'] = $item_id; return M('mb_special_item')->where($condition)->save($update); } /** * 获取项目详细信息 * @param int $item_id * */ public function getMbSpecialItemInfoByID($item_id) { $item_id = intval($item_id); if($item_id <= 0) { return false; } $condition = array(); $condition['item_id'] = $item_id; $item_info = M('mb_special_item')->where($condition)->find(); $item_info['item_data'] = $this->_initMbSpecialItemData($item_info['item_data'], $item_info['item_type']); return $item_info; } /** * 整理项目内容 * */ private function _initMbSpecialItemData($item_data, $item_type) { if(!empty($item_data)) { $item_data = unserialize($item_data); if($item_type == 'goods') { $item_data = $this->_initMbSpecialItemGoodsData($item_data, $item_type); } } else { $item_data = $this->_initMbSpecialItemNullData($item_type); } return $item_data; } /** * 处理goods类型内容 */ private function _initMbSpecialItemGoodsData($item_data, $item_type) { $goods_id_string = ''; if(!empty($item_data['item'])) { foreach ($item_data['item'] as $value) { $goods_id_string .= $value . ','; } $goods_id_string = rtrim($goods_id_string, ','); //查询商品信息 $condition['goods_id'] = array('in', $goods_id_string); $model_goods = M('goods'); $goods_list = $model_goods->where($condition)->select(); $goods_list = array_under_reset($goods_list, 'goods_id'); //整理商品数据 $new_goods_list = array(); foreach ($item_data['item'] as $value) { if(!empty($goods_list[$value])) { $new_goods_list[] = $goods_list[$value]; } } $item_data['item'] = $new_goods_list; } return $item_data; } /** * 初始化空项目内容 */ private function _initMbSpecialItemNullData($item_type) { $item_data = array(); switch ($item_type) { case 'home1': $item_data = array( 'title' => '', 'image' => '', 'type' => '', 'data' => '', ); break; case 'home2': case 'home4': $item_data= array( 'title' => '', 'square_image' => '', 'square_type' => '', 'square_data' => '', 'rectangle1_image' => '', 'rectangle1_type' => '', 'rectangle1_data' => '', 'rectangle2_image' => '', 'rectangle2_type' => '', 'rectangle2_data' => '', ); break; default: } return $item_data; } /* * 删除 * @param array $condition * @return bool * */ public function delMbSpecialItem($condition, $special_id) { return M('mb_special_item')->where($condition)->delete(); } /** * 获取专题模块类型列表 * @return array * */ public function getMbSpecialModuleList() { $module_list = array(); $module_list['adv_list'] = array('name' => 'adv_list' , 'desc' => '广告条版块'); $module_list['home1'] = array('name' => 'home1' , 'desc' => '模型版块布局A'); $module_list['home2'] = array('name' => 'home2' , 'desc' => '模型版块布局B'); $module_list['home3'] = array('name' => 'home3' , 'desc' => '模型版块布局C'); $module_list['home4'] = array('name' => 'home4' , 'desc' => '模型版块布局D'); $module_list['goods'] = array('name' => 'goods' , 'desc' => '商品版块'); return $module_list; } public function addMbSpecialItem($param) { $param['item_usable'] = 0; $param['item_sort'] = 255; $result = M('mb_special_item')->add($param); //删除缓存 if($result) { $param['item_id'] = $result; return $param; } else { return false; } } public function isMbSpecialItemExist($condition) { $item_list = M('mb_special_item')->where($condition)->select(); if($item_list) { return true; } else { return false; } } /** * 专题项目列表(用于后台编辑显示所有项目) * @param int $special_id * */ public function getMbSpecialItemListByID($special_id) { $condition = array(); $condition['special_id'] = $special_id; return $this->_getMbSpecialItemList($condition); } /** * 查询专题项目列表 */ private function _getMbSpecialItemList($condition, $order = 'item_sort asc') { $item_list = M('mb_special_item')->where($condition)->order($order)->select(); foreach ($item_list as $key => $value) { $item_list[$key]['item_data'] = $this->_initMbSpecialItemData($value['item_data'], $value['item_type']); if($value['item_usable'] == 1) { $item_list[$key]['usable_class'] = 'usable'; $item_list[$key]['usable_text'] = '禁用'; } else { $item_list[$key]['usable_class'] = 'unusable'; $item_list[$key]['usable_text'] = '启用'; } } return $item_list; } public function edit_special($data){ $special_id=$data['special_id']; $special = array(); $special['special_id']=$special_id; $special['special_desc'] = $data['special_desc']; $special['share_title'] = $data['share_title']; $special['share_descript'] = $data['share_descript']; $special['share_image'] = $data['share_image']; $special['special_bgcolor'] = $data['special_bgcolor']; $special['special_bgimage'] = $data['image']; $r=M('mb_special')->save($special); if($r){ return array( 'status'=>'success', 'message'=>'修改成功', 'jump'=>U('Special/index') ); }else{ return array( 'status'=>'success', 'message'=>'修改失败', 'jump'=>U('Special/index') ); } } function add_special($data){ if(empty($data['special_desc'])) { return array( 'status'=>'fail', 'message'=>'新增失败,专题名称未填写!', 'jump'=>U('Special/index') ); } else { $special = array(); $special['special_desc'] = $data['special_desc']; $special['special_bgcolor'] = $data['special_bgcolor']; $special['share_title'] = $data['share_title']; $special['share_descript'] = $data['share_descript']; $special['share_image'] = $data['share_image']; $special['special_bgimage'] = $data['image']; $special_id=M('mb_special')->add($special); if($special_id){ return array( 'status'=>'success', 'message'=>'新增成功', 'jump'=>U('Special/index') ); }else{ return array( 'status'=>'fail', 'message'=>'新增失败', 'jump'=>U('Special/index') ); } } } } ?>