Beispiel #1
0
 /**
  * 本地化页面
  */
 public function local_searchOp()
 {
     Uk86Language::uk86_read('home_goods_class_index');
     $this->_model_search = Model('search');
     //显示左侧分类
     //默认分类,从而显示相应的属性和品牌
     /* $default_classid = intval($_GET['cate_id']);
        if (intval($_GET['cate_id']) > 0) {
            $goods_class_array = $this->_model_search->getLeftCategory(array($_GET['cate_id']));
        } elseif ($_GET['keyword'] != '') {
            //从TAG中查找分类
            $goods_class_array = $this->_model_search->getTagCategory($_GET['keyword']);
            //取出第一个分类作为默认分类,从而显示相应的属性和品牌
            $default_classid = $goods_class_array[0];
            $goods_class_array = $this->_model_search->getLeftCategory($goods_class_array, 1);;
        }
        Tpl::output('goods_class_array', $goods_class_array);
        Tpl::output('default_classid', $default_classid);*/
     //优先从全文索引库里查找
     //list($indexer_ids,$indexer_count) = $this->_model_search->indexerSearch($_GET,self::PAGESIZE);
     //
     //        //获得经过属性过滤的商品信息
     // list($goods_param, $brand_array, $attr_array, $checked_brand, $checked_attr) = $this->_model_search->getAttr($_GET, $default_classid);
     //        Tpl::output('brand_array', $brand_array);
     //        Tpl::output('attr_array', $attr_array);
     //        Tpl::output('checked_brand', $checked_brand);
     //        Tpl::output('checked_attr', $checked_attr);
     //处理排序
     $order = 'is_own_shop desc,goods_id desc';
     if (in_array($_GET['key'], array('1', '2', '3'))) {
         $sequence = $_GET['order'] == '1' ? 'asc' : 'desc';
         $order = str_replace(array('1', '2', '3'), array('goods_salenum', 'goods_click', 'goods_promotion_price'), $_GET['key']);
         $order .= ' ' . $sequence;
     }
     $model_goods = Model('goods');
     // 字段
     $fields = "goods_id,goods_commonid,goods_name,goods_jingle,gc_id,store_id,store_name,goods_price,goods_promotion_price,goods_promotion_type,goods_marketprice,goods_storage,goods_image,goods_freight,goods_salenum,color_id,evaluation_good_star,evaluation_count,is_virtual,is_fcode,is_appoint,is_presell,have_gift";
     //var_dump($indexer_ids);
     $condition = array();
     if (is_array($indexer_ids)) {
         //商品主键搜索
         $condition['goods_id'] = array('in', $indexer_ids);
         $goods_list = $model_goods->getGoodsOnlineList($condition, $fields, 0, $order, self::PAGESIZE, null, false);
         //如果有商品下架等情况,则删除下架商品的搜索索引信息
         if (count($goods_list) != count($indexer_ids)) {
             $this->_model_search->delInvalidGoods($goods_list, $indexer_ids);
         }
         uk86_pagecmd('setEachNum', self::PAGESIZE);
         uk86_pagecmd('setTotalNum', $indexer_count);
     } else {
         //执行正常搜索
         if (isset($goods_param['class'])) {
             $condition['gc_id_' . $goods_param['class']['depth']] = $goods_param['class']['gc_id'];
         }
         if (intval($_GET['b_id']) > 0) {
             $condition['brand_id'] = intval($_GET['b_id']);
         }
         if ($_GET['keyword'] != '') {
             $condition['goods_name|goods_jingle'] = array('like', '%' . $_GET['keyword'] . '%');
         }
         if (intval($_GET['area_id']) > 0) {
             $condition['areaid_2'] = intval($_GET['area_id']);
             //根据城市筛选
         }
         if ($_GET['type'] == 1) {
             $condition['is_own_shop'] = 1;
         }
         if ($_GET['gift'] == 1) {
             $condition['have_gift'] = 1;
         }
         if (isset($goods_param['goodsid_array'])) {
             $condition['goods_id'] = array('in', $goods_param['goodsid_array']);
         }
         // $condition['is_virtual'] = 1;  //虚拟商品
         $goods_list = $model_goods->getGoodsListCommon($condition, $fields, $order, self::PAGESIZE);
     }
     Tpl::output('show_page1', $model_goods->showpage(4));
     //显示分页并显示风格
     Tpl::output('show_page', $model_goods->showpage(5));
     //显示分页并显示风格
     // 商品多图
     /*        if (!empty($goods_list)) {
                 $commonid_array = array(); // 商品公共id数组
                 $storeid_array = array();       // 店铺id数组
                 foreach ($goods_list as $key => $value) {
                     $commonid_array[] = $value['goods_commonid'];
                     $storeid_array[] = $value['store_id'];
                     foreach ($goods_list as $k => $v){
                         if($v['goods_commonid'] == $value['goods_commonid'] && $v['goods_id'] != $value['goods_id']){
                             unset($goods_list[$key]);
                         }
                     }
                 }
                 $commonid_array = array_unique($commonid_array);
                 $storeid_array = array_unique($storeid_array);
     
                 // 商品多图
                 $goodsimage_more = Model('goods')->getGoodsImageList(array('goods_commonid' => array('in', $commonid_array)));
     
                 // 店铺
                 $store_list = Model('store')->getStoreMemberIDList($storeid_array);
                 //搜索的关键字
                 $search_keyword = trim($_GET['keyword']);
                 foreach ($goods_list as $key => $value) {
                     // 商品多图
                     foreach ($goodsimage_more as $v) {
                         if ($value['goods_commonid'] == $v['goods_commonid'] && $value['store_id'] == $v['store_id'] && $value['color_id'] == $v['color_id']) {
                             $goods_list[$key]['image'][] = $v;
                         }
                     }
                     // 店铺的开店会员编号
                     $store_id = $value['store_id'];
                     $goods_list[$key]['member_id'] = $store_list[$store_id]['member_id'];
                     $goods_list[$key]['store_domain'] = $store_list[$store_id]['store_domain'];
                     //将关键字置红
                     if ($search_keyword){
                         $goods_list[$key]['goods_name_highlight'] = str_replace($search_keyword,'<font style="color:#f00;">'.$search_keyword.'</font>',$value['goods_name']);
                     } else {
                         $goods_list[$key]['goods_name_highlight'] = $value['goods_name'];
                     }
                 }
             }*/
     Tpl::output('goods_list', $goods_list);
     //向前台传递商品列表
     if ($_GET['keyword'] != '') {
         Tpl::output('show_keyword', $_GET['keyword']);
     } else {
         Tpl::output('show_keyword', $goods_param['class']['gc_name']);
     }
     $model_goods_class = Model('goods_class');
     // SEO
     if ($_GET['keyword'] == '') {
         $seo_class_name = $goods_param['class']['gc_name'];
         if (is_numeric($_GET['cate_id']) && empty($_GET['keyword'])) {
             $seo_info = $model_goods_class->getKeyWords(intval($_GET['cate_id']));
             if (empty($seo_info[1])) {
                 $seo_info[1] = C('site_name') . ' - ' . $seo_class_name;
             }
             Model('seo')->type($seo_info)->param(array('name' => $seo_class_name))->show();
         }
     } elseif ($_GET['keyword'] != '') {
         Tpl::output('html_title', (empty($_GET['keyword']) ? '' : $_GET['keyword'] . ' - ') . C('site_name') . L('nc_common_search'));
     }
     // 当前位置导航
     $nav_link_list = $model_goods_class->getGoodsClassNav(intval($_GET['cate_id']));
     Tpl::output('nav_link_list', $nav_link_list);
     // 得到自定义导航信息
     //$nav_id = intval($_GET['nav_id']) ? intval($_GET['nav_id']) : 0;
     //Tpl::output('index_sign', $nav_id);
     Tpl::output('index_sign', "search_local");
     // 地区
     $city_array = Model('area')->getServiceGoodsCity();
     Tpl::output('city_array', $city_array);
     //var_dump($city_array);
     uk86_loadfunc('search');
     // 浏览过的商品
     $viewed_goods = Model('goods_browse')->getViewedGoodsList($_SESSION['member_id'], 20);
     Tpl::output('viewed_goods', $viewed_goods);
     Tpl::showpage('local_search');
 }
Beispiel #2
0
 /**
  * 品牌商品列表
  */
 public function listOp()
 {
     Uk86Language::uk86_read('home_brand_index');
     $lang = Uk86Language::uk86_getLangContent();
     /**
      * 验证品牌
      */
     $model_brand = Model('brand');
     $brand_info = $model_brand->getBrandInfo(array('brand_id' => intval($_GET['brand'])));
     if (!$brand_info) {
         uk86_showMessage($lang['wrong_argument'], 'index.php', 'html', 'error');
     }
     /**
      * 获得推荐品牌
      */
     $brand_r_list = Model('brand')->getBrandPassedList(array('brand_recommend' => 1), 'brand_id,brand_name,brand_pic', 0, 'brand_sort asc, brand_id desc', 10);
     Tpl::output('brand_r', $brand_r_list);
     // 得到排序方式
     $order = 'is_own_shop desc,goods_id desc';
     if (!empty($_GET['key'])) {
         $order_tmp = trim($_GET['key']);
         $sequence = $_GET['order'] == 1 ? 'asc' : 'desc';
         switch ($order_tmp) {
             case '1':
                 // 销量
                 $order = 'goods_salenum' . ' ' . $sequence;
                 break;
             case '2':
                 // 浏览量
                 $order = 'goods_click' . ' ' . $sequence;
                 break;
             case '3':
                 // 价格
                 $order = 'goods_promotion_price' . ' ' . $sequence;
                 break;
         }
     }
     // 字段
     $fieldstr = "goods_id,goods_commonid,goods_name,goods_jingle,store_id,store_name,goods_price,goods_promotion_price,goods_promotion_type,goods_marketprice,goods_storage,goods_image,goods_freight,goods_salenum,color_id,evaluation_good_star,evaluation_count,is_virtual,is_fcode,is_appoint,is_presell,have_gift";
     // 条件
     $where = array();
     $where['brand_id'] = $brand_info['brand_id'];
     if (intval($_GET['area_id']) > 0) {
         $where['areaid_1'] = intval($_GET['area_id']);
     }
     if ($_GET['type'] == 1) {
         $where['is_own_shop'] = 1;
     }
     if ($_GET['gift'] == 1) {
         $where['have_gift'] = 1;
     }
     $model_goods = Model('goods');
     $goods_list = $model_goods->getGoodsListByColorDistinct($where, $fieldstr, $order, 24);
     Tpl::output('show_page1', $model_goods->showpage(4));
     Tpl::output('show_page', $model_goods->showpage(5));
     // 商品多图
     if (!empty($goods_list)) {
         $commonid_array = array();
         // 商品公共id数组
         $storeid_array = array();
         // 店铺id数组
         foreach ($goods_list as $value) {
             $commonid_array[] = $value['goods_commonid'];
             $storeid_array[] = $value['store_id'];
         }
         $commonid_array = array_unique($commonid_array);
         $storeid_array = array_unique($storeid_array);
         // 商品多图
         $goodsimage_more = $model_goods->getGoodsImageList(array('goods_commonid' => array('in', $commonid_array)));
         // 店铺
         $store_list = Model('store')->getStoreMemberIDList($storeid_array);
         foreach ($goods_list as $key => $value) {
             // 商品多图
             foreach ($goodsimage_more as $v) {
                 if ($value['goods_commonid'] == $v['goods_commonid'] && $value['store_id'] == $v['store_id'] && $value['color_id'] == $v['color_id']) {
                     $goods_list[$key]['image'][] = $v;
                 }
             }
             // 店铺的开店会员编号
             $store_id = $value['store_id'];
             $goods_list[$key]['member_id'] = $store_list[$store_id]['member_id'];
             $goods_list[$key]['store_domain'] = $store_list[$store_id]['store_domain'];
             //将关键字置红
             $goods_list[$key]['goods_name_highlight'] = $value['goods_name'];
         }
     }
     Tpl::output('goods_list', $goods_list);
     // 地区
     $province_array = Model('area')->getTopLevelAreas();
     Tpl::output('province_array', $province_array);
     uk86_loadfunc('search');
     /**
      * 取浏览过产品的cookie(最大四组)
      */
     $viewed_goods = Model('goods_browse')->getViewedGoodsList($_SESSION['member_id'], 20);
     Tpl::output('viewed_goods', $viewed_goods);
     /**
      * 分类导航
      */
     $nav_link = array(0 => array('title' => $lang['homepage'], 'link' => SHOP_SITE_URL), 1 => array('title' => $lang['brand_index_all_brand'], 'link' => uk86_urlShop('brand', 'index')), 2 => array('title' => $brand_info['brand_name']));
     Tpl::output('nav_link_list', $nav_link);
     /**
      * 页面输出
      */
     Tpl::output('index_sign', 'brand');
     Model('seo')->type('brand_list')->param(array('name' => $brand_info['brand_name']))->show();
     Tpl::showpage('brand_goods');
 }
Beispiel #3
0
 /**
  * 全部商品
  */
 public function goods_allOp()
 {
     $condition = array();
     $condition['store_id'] = $this->store_info['store_id'];
     if (trim($_GET['inkeyword']) != '') {
         $condition['goods_name'] = array('like', '%' . trim($_GET['inkeyword']) . '%');
     }
     // 排序
     $order = $_GET['order'] == 1 ? 'asc' : 'desc';
     switch (trim($_GET['key'])) {
         case '1':
             $order = 'goods_id ' . $order;
             break;
         case '2':
             $order = 'goods_promotion_price ' . $order;
             break;
         case '3':
             $order = 'goods_salenum ' . $order;
             break;
         case '4':
             $order = 'goods_collect ' . $order;
             break;
         case '5':
             $order = 'goods_click ' . $order;
             break;
         default:
             $order = 'goods_id desc';
             break;
     }
     //查询分类下的子分类
     if (intval($_GET['stc_id']) > 0) {
         $condition['goods_stcids'] = array('like', '%,' . intval($_GET['stc_id']) . ',%');
     }
     $model_goods = Model('goods');
     $fieldstr = "goods_id,goods_commonid,goods_name,goods_jingle,store_id,store_name,goods_price,goods_promotion_price,goods_marketprice,goods_storage,goods_image,goods_freight,goods_salenum,color_id,evaluation_good_star,evaluation_count,goods_promotion_type";
     $recommended_goods_list = $model_goods->getGoodsListByColorDistinct($condition, $fieldstr, $order, 24);
     $recommended_goods_list = $this->getGoodsMore($recommended_goods_list);
     Tpl::output('recommended_goods_list', $recommended_goods_list[1]);
     uk86_loadfunc('search');
     //输出分页
     Tpl::output('show_page', $model_goods->showpage('5'));
     $stc_class = Model('store_goods_class');
     $stc_info = $stc_class->getStoreGoodsClassInfo(array('stc_id' => intval($_GET['stc_id'])));
     Tpl::output('stc_name', $stc_info['stc_name']);
     Tpl::output('page', 'index');
     Tpl::showpage('goods_list');
 }
Beispiel #4
0
 /**
  * 抢购详细信息
  **/
 public function groupbuy_detailOp()
 {
     $group_id = intval($_GET['group_id']);
     $model_groupbuy = Model('groupbuy');
     $model_store = Model('store');
     //获取抢购详细信息
     $groupbuy_info = $model_groupbuy->getGroupbuyInfoByID($group_id);
     if (empty($groupbuy_info)) {
         uk86_showMessage(Uk86Language::uk86_get('param_error'), uk86_urlShop('show_groupbuy', 'index'), '', 'error');
     }
     Tpl::output('groupbuy_info', $groupbuy_info);
     Tpl::output('groupbuyMenuIsVr', (bool) $groupbuy_info['is_vr']);
     if ($groupbuy_info['is_vr']) {
         $goods_info = Model('goods')->getGoodsInfoByID($groupbuy_info['goods_id']);
         $buy_limit = max(0, (int) $goods_info['virtual_limit']);
         $upper_limit = max(0, (int) $groupbuy_info['upper_limit']);
         if ($buy_limit < 1 || $buy_limit > 0 && $upper_limit > 0 && $buy_limit > $upper_limit) {
             $buy_limit = $upper_limit;
         }
         Tpl::output('goods_info', $goods_info);
         Tpl::output('buy_limit', $buy_limit);
     } else {
         Tpl::output('buy_limit', $groupbuy_info['upper_limit']);
     }
     // 输出店铺信息
     $store_info = $model_store->getStoreInfoByID($groupbuy_info['store_id']);
     Tpl::output('store_info', $store_info);
     // 浏览数加1
     $update_array = array();
     $update_array['views'] = array('exp', 'views+1');
     $model_groupbuy->editGroupbuy($update_array, array('groupbuy_id' => $group_id));
     //获取店铺推荐商品
     $commended_groupbuy_list = $model_groupbuy->getGroupbuyCommendedList(8);
     Tpl::output('commended_groupbuy_list', $commended_groupbuy_list);
     // 好评率
     $model_evaluate = Model('evaluate_goods');
     $evaluate_info = $model_evaluate->getEvaluateGoodsInfoByCommonidID($groupbuy_info['goods_commonid']);
     Tpl::output('evaluate_info', $evaluate_info);
     Model('seo')->type('group_content')->param(array('name' => $groupbuy_info['groupbuy_name']))->show();
     uk86_loadfunc('search');
     Tpl::showpage('groupbuy_detail');
 }