浏览代码

add search goods

stanley-king 7 年之前
父节点
当前提交
b956481f73
共有 4 个文件被更改,包括 55 次插入23 次删除
  1. 25 18
      helper/special_helper.php
  2. 2 2
      mobile/control/index.php
  3. 1 1
      mobile/control/search.php
  4. 27 2
      mobile/control/special.php

+ 25 - 18
helper/special_helper.php

@@ -281,7 +281,7 @@ class special_formater
         return $result;
         return $result;
     }
     }
 
 
-    public static function format_goods($goods_ids,$title,$sort_summary)
+    public static function format_goods($goods_ids,$title,$sort_summary,$show_type='goods',$type='goods')
     {
     {
         $result = [];
         $result = [];
 
 
@@ -292,9 +292,9 @@ class special_formater
         {
         {
             $summary = $sort_summary[$goods_id];
             $summary = $sort_summary[$goods_id];
             $item['image'] = $summary['goods_image_url'];
             $item['image'] = $summary['goods_image_url'];
-            $item['show_type'] = "goods";
+            $item['show_type'] = $show_type;
             $item['show_data'] = strval($goods_id);
             $item['show_data'] = strval($goods_id);
-            $item['type'] = "goods";
+            $item['type'] = $type;
             $item['data'] = strval($goods_id);
             $item['data'] = strval($goods_id);
             $item['title'] = $summary['goods_mobile_name'];
             $item['title'] = $summary['goods_mobile_name'];
             $result['items'][] = $item;
             $result['items'][] = $item;
@@ -830,27 +830,34 @@ class special_manager
         return self::$stInstance;
         return self::$stInstance;
     }
     }
 
 
-    public function special($special_id,&$goods_ids)
+    public function special($special_id,&$goods_ids,$pub=true)
     {
     {
-        if(StatesHelper::fetch_state('special')) {
-            $this->mContents = [];
-        }
+        if($pub)
+        {
+            if(StatesHelper::fetch_state('special')) {
+                $this->mContents = [];
+            }
 
 
-        $special_id = intval($special_id);
-        if(array_key_exists($special_id,$this->mContents)) {
-            $data = $this->mContents[$special_id]['data'];
-            $goods_ids = $this->mContents[$special_id]['gids'];
-            return $data;
+            $special_id = intval($special_id);
+            if(array_key_exists($special_id,$this->mContents)) {
+                $data = $this->mContents[$special_id]['data'];
+                $goods_ids = $this->mContents[$special_id]['gids'];
+                return $data;
+            }
+            else
+            {
+
+                $formater = new special_formater($special_id,$this->old_version($special_id));
+                $data = $formater->format($goods_ids);
+
+                $this->mContents[$special_id]['data'] = $data;
+                $this->mContents[$special_id]['gids'] = $goods_ids;
+                return $data;
+            }
         }
         }
         else
         else
         {
         {
 
 
-            $formater = new special_formater($special_id,$this->old_version($special_id));
-            $data = $formater->format($goods_ids);
-
-            $this->mContents[$special_id]['data'] = $data;
-            $this->mContents[$special_id]['gids'] = $goods_ids;
-            return $data;
         }
         }
     }
     }
     private function old_version($special_id)
     private function old_version($special_id)

+ 2 - 2
mobile/control/index.php

@@ -39,7 +39,7 @@ class indexControl extends specialControl
     public function splashOp()
     public function splashOp()
     {
     {
         $sig = $_GET['sig'];
         $sig = $_GET['sig'];
-        $ret = $this->get_special($this->splash_id());
+        $ret = $this->pub_special($this->splash_id());
         if(empty($ret['special_list'])) {
         if(empty($ret['special_list'])) {
             return self::outsuccess(null);
             return self::outsuccess(null);
         }
         }
@@ -115,7 +115,7 @@ class indexControl extends specialControl
     {
     {
         if($this->cur_page == 1) {
         if($this->cur_page == 1) {
             $start = microtime(true);
             $start = microtime(true);
-            $ret = $this->get_special(self::HomeSpecialID);
+            $ret = $this->pub_special(self::HomeSpecialID);
             $ret['mobile_page'] = mobile_page(2);
             $ret['mobile_page'] = mobile_page(2);
             perfor_period("home",$start,"index");
             perfor_period("home",$start,"index");
 
 

+ 1 - 1
mobile/control/search.php

@@ -202,7 +202,7 @@ class searchControl extends mobileHomeControl
             $helper = new goods_helper();
             $helper = new goods_helper();
             $ret = $helper->summary($goods_list,$related_goods);
             $ret = $helper->summary($goods_list,$related_goods);
 
 
-            $block = special_formater::format_goods($goods_ids,"",$ret['sort_summary']);
+            $block = special_formater::format_goods($goods_ids,"",$ret['sort_summary'],'search_goods','');
             $blocks[] = $block;
             $blocks[] = $block;
 
 
             return self::outsuccess(array('special_list' => $blocks,
             return self::outsuccess(array('special_list' => $blocks,

+ 27 - 2
mobile/control/special.php

@@ -33,21 +33,46 @@ class specialControl extends mobileHomeControl
             return self::outerr(errcode::ErrParamter,"该专题不存在");
             return self::outerr(errcode::ErrParamter,"该专题不存在");
         }
         }
 
 
-        $ret = $this->get_special($special_id);
         if($spitem->from_user())
         if($spitem->from_user())
         {
         {
+            $ret = $this->pri_special($special_id);
             $ret['spitem'] = $spitem;
             $ret['spitem'] = $spitem;
             $tpl_obj = new tpl_ugc($ret);
             $tpl_obj = new tpl_ugc($ret);
             self::outsuccess(['tpl_obj' => $tpl_obj],'ugc/content');
             self::outsuccess(['tpl_obj' => $tpl_obj],'ugc/content');
         } else {
         } else {
+            $ret = $this->pub_special($special_id);
             self::outsuccess($ret);
             self::outsuccess($ret);
         }
         }
     }
     }
 
 
-    protected function get_special($special_id)
+    protected function pub_special($special_id)
     {
     {
         $specials = special_manager::instance()->special($special_id,$goods_ids);
         $specials = special_manager::instance()->special($special_id,$goods_ids);
+        if (!empty($goods_ids))
+        {
+            $helper = new goods_helper();
+            $goodsex = $helper->online_summary($goods_ids, $related_goods);
 
 
+            return array('special_list' => $specials,
+                'summary'  => $goodsex['summary'],
+                'groupbuy' => $goodsex['groupbuy'],
+                'limitime' => $goodsex['limitime'],
+                'bundling' => $goodsex['bundling'],
+                'mobile_page' => mobile_page(1));
+        }
+        else
+        {
+            return array('special_list' => $specials,
+                'summary'  => array(),
+                'groupbuy' => array(),
+                'limitime' => array(),
+                'bundling' => array(),
+                'mobile_page' => mobile_page(1));
+        }
+    }
+    protected function pri_special($special_id)
+    {
+        $specials = special_manager::instance()->special($special_id,$goods_ids);
         if (!empty($goods_ids))
         if (!empty($goods_ids))
         {
         {
             $helper = new goods_helper();
             $helper = new goods_helper();