Authored by whb

web首页相关

  1 +<?php
  2 +namespace Action;
  3 +use Index\HomeModel;
  4 +class WebAction extends AbstractAction
  5 +{
  6 + /**
  7 + * 设置头部
  8 + *
  9 + * @param string $channel (默认不设置)
  10 + * @return
  11 + */
  12 + protected function setWebNavHeader($channel = '')
  13 + {
  14 + if(empty($channel)) {
  15 + $channel = \Index\HomeModel::getSwitchChannel();
  16 + }
  17 + else {//设置频道
  18 + \Index\HomeModel::setSwitchToCookie($channel);
  19 + }
  20 + $header = array(
  21 + 'navbars'=>\Index\HomeModel::getNavBars($channel),
  22 + 'gobytype'=> 'gobuy'.$channel,
  23 + 'searchcate'=>'searchcate'.$channel,
  24 + 'myyoho' => array(
  25 + 'email'=>'hhh@126.com',
  26 + 'viptype'=>'普通会员',
  27 + 'currentscore' => 495,
  28 + 'totalscore' => 600,
  29 + 'cardtype' => '银卡',
  30 + 'infolist' => array(
  31 + array(
  32 + 'name' =>'待处理的订单',
  33 + 'link' =>'',
  34 + 'num' => '0'
  35 + ),
  36 + array(
  37 + 'name' =>'我的收藏',
  38 + 'link' =>'',
  39 + 'num' => '1'
  40 + ),
  41 + array(
  42 + 'name' =>'我的优惠券',
  43 + 'link' =>'',
  44 + 'num' => '2'
  45 + ),
  46 + array(
  47 + 'name' =>'我的YOHO币',
  48 + 'link' =>'',
  49 + 'num' => '1'
  50 + ),
  51 + array(
  52 + 'name' =>'我的退货换货',
  53 + 'link' =>'',
  54 + 'num' => '1'
  55 + )
  56 + ),
  57 + 'updlink' => ''
  58 + ),
  59 + 'gobuy'=> array(
  60 + 'gobuynum' =>3
  61 + ),
  62 + 'breadcrumbnav'=> array(
  63 + array(
  64 + 'notend'=>array(
  65 + 'link' => 'http=>//www.baidu.com',
  66 + 'name' => 'BOYS首页'
  67 + )
  68 + ),
  69 + array(
  70 + 'notend'=>array(
  71 + 'link' => 'http=>//www.baidu.com',
  72 + 'name' => '上衣'
  73 + )
  74 + ),
  75 + array(
  76 + 'isend'=>array(
  77 + 'link' => 'http=>//www.baidu.com',
  78 + 'name' => '衬衫'
  79 + )
  80 + )
  81 + )
  82 + );
  83 + $this->_view->assign('headerdata', $header);
  84 + }
  85 +}
@@ -41,6 +41,7 @@ class Yohobuy @@ -41,6 +41,7 @@ class Yohobuy
41 'android' => 'fd4ad5fcfa0de589ef238c0e7331b585', 41 'android' => 'fd4ad5fcfa0de589ef238c0e7331b585',
42 'iphone' => 'a85bb0674e08986c6b115d5e3a4884fa', 42 'iphone' => 'a85bb0674e08986c6b115d5e3a4884fa',
43 'ipad' => 'ad9fcda2e679cf9229e37feae2cdcf80', 43 'ipad' => 'ad9fcda2e679cf9229e37feae2cdcf80',
  44 + 'web' => '0ed29744ed318fd28d2c07985d3ba633',
44 ); 45 );
45 46
46 /** 47 /**
@@ -55,10 +56,13 @@ class Yohobuy @@ -55,10 +56,13 @@ class Yohobuy
55 // 苹果IPAD 56 // 苹果IPAD
56 elseif (strstr($_SERVER['HTTP_USER_AGENT'], 'iPad')) { 57 elseif (strstr($_SERVER['HTTP_USER_AGENT'], 'iPad')) {
57 return 'ipad'; 58 return 'ipad';
  59 + }
  60 + elseif (stristr($_SERVER['HTTP_USER_AGENT'], 'android')) {
  61 + return 'android';
58 } 62 }
59 // 其它 63 // 其它
60 else { 64 else {
61 - return 'android'; 65 + return 'web';
62 } 66 }
63 } 67 }
64 68
  1 +<?php
  2 +namespace Configs;
  3 +class ChannelConfig
  4 +{
  5 + /**
  6 + * 最新上架分类
  7 + */
  8 + public static $newArrivalSortList = array(
  9 + //女首上架分类
  10 + 'girls' => array(
  11 + array(
  12 + 'misort' => 20,
  13 + 'viewNum' => 4
  14 + ),// 棉衣
  15 + array(
  16 + 'misort' => 18,
  17 + 'viewNum' => 4
  18 + ),// 羽绒服
  19 + array(
  20 + 'misort' => 22,
  21 + 'viewNum' => 4
  22 + ),// 风衣/大衣
  23 + array(
  24 + 'misort' => 44,
  25 + 'viewNum' => 4
  26 + ),//休闲/运动鞋
  27 + array(
  28 + 'misort' => 21,
  29 + 'viewNum' => 4
  30 + ),// 夹克
  31 + array(
  32 + 'misort' => 16,
  33 + 'viewNum' => 4
  34 + ),// 卫衣
  35 + array(
  36 + 'misort' => 26,
  37 + 'viewNum' => 4
  38 + ),// 休闲裤
  39 + array(
  40 + 'misort' => 45,
  41 + 'viewNum' => 4
  42 + ),//靴子
  43 + array(
  44 + 'misort' => 226,
  45 + 'viewNum' => 4
  46 + ),// 防风外套
  47 + array(
  48 + 'misort' => 27,
  49 + 'viewNum' => 4
  50 + ),// 牛仔裤
  51 + array(
  52 + 'misort' => 257,
  53 + 'viewNum' => 4
  54 + ),//毛衣/针织
  55 + array(
  56 + 'misort' => 11,
  57 + 'viewNum' => 4
  58 + ),// T恤
  59 + array(
  60 + 'misort' => 31,
  61 + 'viewNum' => 4
  62 + ),//连衣裙
  63 + array(
  64 + 'misort' => 32,
  65 + 'viewNum' => 4
  66 + ),//半身裙
  67 + array(
  68 + 'misort' => 50,
  69 + 'viewNum' => 4
  70 + ),//手拎包/单肩包
  71 + array(
  72 + 'misort' => 60,
  73 + 'viewNum' => 4
  74 + ),//帽子
  75 + array(
  76 + 'misort' => 49,
  77 + 'viewNum' => 4
  78 + ),//双肩包
  79 + array(
  80 + 'misort' => 65,
  81 + 'viewNum' => 4
  82 + ),//首饰
  83 + array(
  84 + 'misort' => 314,
  85 + 'viewNum' => 4
  86 + ),//围巾
  87 + array(
  88 + 'misort' => 59,
  89 + 'viewNum' => 4
  90 + ),//手表
  91 + ),
  92 +
  93 + //潮童上架分类
  94 + 'kids' => array(
  95 + array(
  96 + 'misort' => 404,
  97 + 'viewNum' => 4
  98 + ),// 夹克
  99 + array(
  100 + 'misort' => 396,
  101 + 'viewNum' => 4
  102 + ),// 卫衣
  103 + array(
  104 + 'misort' => 369,
  105 + 'viewNum' => 4
  106 + ),// 休闲裤
  107 + array(
  108 + 'misort' => 406,
  109 + 'viewNum' => 4
  110 + ),// 大衣/风衣
  111 + array(
  112 + 'misort' => 368,
  113 + 'viewNum' => 4
  114 + ),// 休闲/运动鞋
  115 + array(
  116 + 'misort' => 366,
  117 + 'viewNum' => 4
  118 + ),// T恤
  119 + array(
  120 + 'misort' => 400,
  121 + 'viewNum' => 4
  122 + ),// 毛衣/针织
  123 + array(
  124 + 'misort' => 367,
  125 + 'viewNum' => 4
  126 + ),// 衬衫
  127 + array(
  128 + 'misort' => 388,
  129 + 'viewNum' => 4
  130 + ),// 牛仔裤
  131 + array(
  132 + 'misort' => 392,
  133 + 'viewNum' => 4
  134 + ),// 双肩包
  135 + array(
  136 + 'misort' => 384,
  137 + 'viewNum' => 4
  138 + ),// 打底裤/紧身裤
  139 + array(
  140 + 'misort' => 371,
  141 + 'viewNum' => 4
  142 + ),// 连衣裙
  143 + array(
  144 + 'misort' => 421,
  145 + 'viewNum' => 4
  146 + ),// 围巾
  147 + array(
  148 + 'misort' => 425,
  149 + 'viewNum' => 4
  150 + ),// 围兜
  151 + ),
  152 +
  153 + //创意生活上架分类
  154 + 'lifestyle' => array(
  155 + array(
  156 + 'sort' => 171,
  157 + 'viewNum' => 5
  158 + ),//耳机
  159 + array(
  160 + 'sort' => 398,
  161 + 'viewNum' => 5
  162 + ),//智能装备
  163 + array(
  164 + 'sort' => 185,
  165 + 'viewNum' => 5
  166 + ),//相机
  167 + array(
  168 + 'misort' => 259,
  169 + 'viewNum' => 5
  170 + ),//美妆
  171 + array(
  172 + 'sort' => 267,
  173 + 'viewNum' => 5
  174 + ),//杯子/水壶
  175 + array(
  176 + 'sort' => 313,
  177 + 'viewNum' => 5
  178 + ),//手机/ipad壳套
  179 + array(
  180 + 'sort' => 211,
  181 + 'viewNum' => 5
  182 + ),//数码配件
  183 + array(
  184 + 'sort' => 292,
  185 + 'viewNum' => 5
  186 + ),//玩偶
  187 + array(
  188 + 'sort' => 272,
  189 + 'viewNum' => 5
  190 + ),//储物收纳
  191 + array(
  192 + 'sort' => 183,
  193 + 'viewNum' => 5
  194 + ),//居家用品
  195 + array(
  196 + 'sort' => 273,
  197 + 'viewNum' => 5
  198 + ),//厨具/餐具
  199 + array(
  200 + 'sort' => 271,
  201 + 'viewNum' => 5
  202 + ),//靠枕/靠垫/抱枕
  203 + ),
  204 + );
  205 +}
  1 +<?php
  2 +namespace LibModels\Web\Home;
  3 +
  4 +use Api\Yohobuy;
  5 +use Api\Sign;
  6 +class IndexData
  7 +{
  8 + //分类服务
  9 + const URL_OPERATIONS_CATEGORY = 'operations/service/v1/category';
  10 + //资源位地址
  11 + const URL_OPERATIONS_RESOURCE_GET = 'operations/api/v5/resource/get';
  12 +
  13 + /**
  14 + * 获取导航数据
  15 + *
  16 + * @param int $status (default)
  17 + * @param string $fields (default)
  18 + * @return array
  19 + */
  20 + public static function getNavData($status = 1, $fields = 'id,sort_name,sort_name_en,parent_id,sort_url,sort_ico,content_code,is_new,is_hot,separative_sign')
  21 + {
  22 + $params = array('parent_id'=>'','platform'=>'web',
  23 + 'status'=> $status,'fields'=> $fields
  24 + );
  25 + return Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URL_OPERATIONS_CATEGORY,'getCategory', $params, false);
  26 + }
  27 +
  28 + /**
  29 + * 获取资源数据
  30 + *
  31 + * @param string $content_code
  32 + * @param string $client_type
  33 + * @return array
  34 + */
  35 + public static function getResourceData($content_code, $client_type = 'web')
  36 + {
  37 + // 构建必传参数
  38 + $params = Yohobuy::param();
  39 + $params['content_code'] = $content_code;
  40 + $params['client_type'] = $client_type;
  41 + $params['client_secret'] = Sign::getSign($params);
  42 + return Yohobuy::get(Yohobuy::SERVICE_URL . 'operations/api/v5/resource/get', $params);
  43 + }
  44 +}
  1 +<?php
  2 +namespace LibModels\Web\Product;
  3 +
  4 +class SearchData extends \LibModels\Wap\Product\SearchData
  5 +{
  6 + /**
  7 + * 根据分类列表获取商品信息
  8 + *
  9 + * @param array $params
  10 + * @param array $sortList
  11 + * @return array
  12 + */
  13 + public static function getSearchDataBySort(array $params, array $sortList)
  14 + {
  15 + $data = array();
  16 + foreach ($sortList as $v) {
  17 + if(empty($v['viewNum'])){
  18 + continue;
  19 + }
  20 + $params = array_merge($params, $v);
  21 + $list = self::searchElasticByCondition($params, true);
  22 + $productList = empty($list['data']['product_list']) ? array() : $list['data']['product_list'];
  23 + if(count($productList) < $v['viewNum']){
  24 + continue;
  25 + }
  26 + $data = array_merge($data, $productList);
  27 + }
  28 + return $data;
  29 + }
  30 +}
@@ -94,7 +94,7 @@ @@ -94,7 +94,7 @@
94 <ul class="category-list"> 94 <ul class="category-list">
95 {{#branditems}} 95 {{#branditems}}
96 <li class="category-item thirdnavbar"> 96 <li class="category-item thirdnavbar">
97 - <a href="" hot={{hot}}>{{brandname}}</a> 97 + <a href="{{link}}" hot={{hot}}>{{brandname}}</a>
98 </li> 98 </li>
99 {{/branditems}} 99 {{/branditems}}
100 </ul> 100 </ul>
1 <?php 1 <?php
2 -use Action\AbstractAction;  
3 - 2 +use Action\WebAction;
  3 +use Index\HomeModel;
4 /** 4 /**
5 * 男首 5 * 男首
6 */ 6 */
7 -class BoysController extends AbstractAction 7 +class BoysController extends WebAction
8 { 8 {
9 public function indexAction() 9 public function indexAction()
10 { 10 {
11 -  
12 - $headerdata = array(  
13 - 'gobytype' =>'gobuyboys',  
14 - 'searchcate'=> 'searchcateboys',  
15 - 'navbars' => array(  
16 - array(  
17 - 'name_cn'=>'男生',  
18 - 'name_en'=>'BOYS',  
19 - 'link' => '',  
20 - 'classname' => 'boys',  
21 - 'index_main' => 0,  
22 - 'subnav' => array(  
23 - array(  
24 - 'name'=>'男首1',  
25 - 'link'=>'',  
26 - 'index_sub'=>0,  
27 - 'thirdnav' => array(  
28 - array(  
29 - 'title' =>'上装',  
30 - 'branditems'=> array(  
31 - array(  
32 - 'brandname'=>'背心',  
33 - 'link'=>''  
34 - ),  
35 - array(  
36 - 'brandname'=>'T恤',  
37 - 'link'=>''  
38 - )  
39 - )  
40 -  
41 - )  
42 - )  
43 - ),  
44 - array(  
45 - 'name'=>'男首2',  
46 - 'link'=>'',  
47 - 'index_sub'=>1,  
48 - 'thirdnav' => array(  
49 - array(  
50 - 'title' =>'上装',  
51 - 'branditems'=> array(  
52 - array(  
53 - 'brandname'=>'背心',  
54 - 'link'=>''  
55 - ),  
56 - array(  
57 - 'brandname'=>'T恤',  
58 - 'link'=>''  
59 - )  
60 - )  
61 - )  
62 - )  
63 - ),  
64 - array(  
65 - 'name'=>'男首3',  
66 - 'link'=>'',  
67 - 'index_sub'=>2,  
68 - 'thirdnav' => array(  
69 - array(  
70 - 'title' =>'上装',  
71 - 'branditems'=> array(  
72 - array(  
73 - 'brandname'=>'背心',  
74 - 'link'=>''  
75 - ),  
76 - array(  
77 - 'brandname'=>'T恤',  
78 - 'link'=>''  
79 - )  
80 - )  
81 - )  
82 - )  
83 - )  
84 - )  
85 - ),  
86 - array(  
87 - 'name_cn'=>'女生',  
88 - 'name_en'=>'GIRLS',  
89 - 'link' => 'http=>//www.baidu.com',  
90 - 'classname' => '',  
91 - 'index_main' => 0,  
92 - 'subnav' => array(  
93 - array(  
94 - 'name'=>'女生1',  
95 - 'link'=>'',  
96 - 'index_sub'=>0,  
97 - 'thirdnav' => array(  
98 - array(  
99 - 'title' =>'上装',  
100 - 'branditems'=> array(  
101 - array(  
102 - 'brandname'=>'背心',  
103 - 'link'=>''  
104 - ),  
105 - array(  
106 - 'brandname'=>'T恤',  
107 - 'link'=>''  
108 - )  
109 - )  
110 - )  
111 - )  
112 - ),  
113 - array(  
114 - 'name'=>'女生2',  
115 - 'link'=>'',  
116 - 'index_sub'=>1,  
117 - 'thirdnav' => array(  
118 - array(  
119 - 'title' =>'上装',  
120 - 'branditems'=> array(  
121 - array(  
122 - 'brandname'=>'背心',  
123 - 'link'=>''  
124 - ),  
125 - array(  
126 - 'brandname'=>'T恤',  
127 - 'link'=>''  
128 - )  
129 - )  
130 - )  
131 - )  
132 - ),  
133 - array(  
134 - 'name'=>'女生3',  
135 - 'link'=>'',  
136 - 'index_sub'=>2,  
137 - 'thirdnav' => array(  
138 - array(  
139 - 'title' =>'上装',  
140 - 'branditems'=> array(  
141 - array(  
142 - 'brandname'=>'背心',  
143 - 'link'=>''  
144 - ),  
145 - array(  
146 - 'brandname'=>'T恤',  
147 - 'link'=>''  
148 - )  
149 - )  
150 - )  
151 - )  
152 - )  
153 - )  
154 - )  
155 - ),  
156 - 'myyoho' => array(  
157 - 'email'=>'hhh@126.com',  
158 - 'viptype'=>'普通会员',  
159 - 'currentscore' => 495,  
160 - 'totalscore' => 600,  
161 - 'cardtype' => '银卡',  
162 - 'infolist' => array(  
163 - array(  
164 - 'name' =>'待处理的订单',  
165 - 'link' =>'',  
166 - 'num' => '0'  
167 - ),  
168 - array(  
169 - 'name' =>'我的收藏',  
170 - 'link' =>'',  
171 - 'num' => '1'  
172 - ),  
173 - array(  
174 - 'name' =>'我的优惠券',  
175 - 'link' =>'',  
176 - 'num' => '2'  
177 - ),  
178 - array(  
179 - 'name' =>'我的YOHO币',  
180 - 'link' =>'',  
181 - 'num' => '1'  
182 - ),  
183 - array(  
184 - 'name' =>'我的退货换货',  
185 - 'link' =>'',  
186 - 'num' => '1'  
187 - )  
188 - ),  
189 - 'updlink' => ''  
190 - ),  
191 - 'gobuy'=> array(  
192 - 'gobuynum' =>3  
193 - ),  
194 - 'breadcrumbnav'=> array(  
195 - array(  
196 - 'notend'=>array(  
197 - 'link' => 'http=>//www.baidu.com',  
198 - 'name' => 'BOYS首页'  
199 - )  
200 - ),  
201 - array(  
202 - 'notend'=>array(  
203 - 'link' => 'http=>//www.baidu.com',  
204 - 'name' => '上衣'  
205 - )  
206 - ),  
207 - array(  
208 - 'isend'=>array(  
209 - 'link' => 'http=>//www.baidu.com',  
210 - 'name' => '衬衫'  
211 - )  
212 - )  
213 - )  
214 - );  
215 -  
216 - 11 + $this->setWebNavHeader();
217 $imgsrc='http://img11.static.yhbimg.com/goodsimg/2015/10/19/10/01b312c3b7a7efebcd671e73495ff3e306.jpg'; 12 $imgsrc='http://img11.static.yhbimg.com/goodsimg/2015/10/19/10/01b312c3b7a7efebcd671e73495ff3e306.jpg';
218 $name_href=array('name'=>'衣服','url'=>''); 13 $name_href=array('name'=>'衣服','url'=>'');
219 $name_href_img=array( 14 $name_href_img=array(
@@ -248,7 +43,6 @@ class BoysController extends AbstractAction @@ -248,7 +43,6 @@ class BoysController extends AbstractAction
248 43
249 44
250 $data = array( 45 $data = array(
251 - 'headerdata' => $headerdata,  
252 'footerTop' => true, 46 'footerTop' => true,
253 'boysHomePage' => true, 47 'boysHomePage' => true,
254 'boys' => array( 48 'boys' => array(
  1 +<?php
  2 +
  3 +/**
  4 + * 错误错误控制器
  5 + *
  6 + * @name ErrorController
  7 + * @desc 错误控制器, 在发生未捕获的异常时刻被调用
  8 + * @see http://www.php.net/manual/en/yaf-dispatcher.catchexception.php
  9 + */
  10 +use Action\AbstractAction;
  11 +
  12 +class ErrorController extends AbstractAction
  13 +{
  14 +
  15 + public function indexAction()
  16 + {
  17 + header('HTTP/1.1 404 Not Found');
  18 + header('Status: 404 Not Found');
  19 + $this->_view->display('index');
  20 + }
  21 +
  22 + public function errorAction($exception)
  23 + {
  24 + header('HTTP/1.1 404 Not Found');
  25 + header('Status: 404 Not Found');
  26 +
  27 + // @todo debug
  28 + //echo $exception->getMessage();
  29 +
  30 + // 设置网站标题
  31 + $this->setTitle('页面不存在');
  32 + $this->setNavHeader('抱歉,页面不存在!', true, SITE_MAIN);
  33 +
  34 + // 生成HTML (error.html)
  35 + $this->_view->html('error');
  36 + // 渲染模板
  37 + $this->_view->display('index', array(
  38 + 'pageFooter' => true,
  39 + 'showDownloadApp' => true,
  40 + ));
  41 + }
  42 +
  43 +}
1 <?php 1 <?php
2 -use Action\AbstractAction; 2 +use Action\WebAction;
  3 +use Index\HomeModel;
3 4
4 /** 5 /**
5 * 女首 6 * 女首
6 */ 7 */
7 -class GirlsController extends AbstractAction 8 +class GirlsController extends WebAction
8 { 9 {
9 public function indexAction() 10 public function indexAction()
10 { 11 {
11 -  
12 - $headerdata = array(  
13 - 'gobytype' =>'gobuyboys',  
14 - 'searchcate'=> 'searchcateboys',  
15 - 'navbars' => array(  
16 - array(  
17 - 'name_cn'=>'男生',  
18 - 'name_en'=>'BOYS',  
19 - 'link' => '',  
20 - 'classname' => 'boys',  
21 - 'index_main' => 0,  
22 - 'subnav' => array(  
23 - array(  
24 - 'name'=>'男首1',  
25 - 'link'=>'',  
26 - 'index_sub'=>0,  
27 - 'thirdnav' => array(  
28 - array(  
29 - 'title' =>'上装',  
30 - 'branditems'=> array(  
31 - array(  
32 - 'brandname'=>'背心',  
33 - 'link'=>''  
34 - ),  
35 - array(  
36 - 'brandname'=>'T恤',  
37 - 'link'=>''  
38 - )  
39 - )  
40 -  
41 - )  
42 - )  
43 - ),  
44 - array(  
45 - 'name'=>'男首2',  
46 - 'link'=>'',  
47 - 'index_sub'=>1,  
48 - 'thirdnav' => array(  
49 - array(  
50 - 'title' =>'上装',  
51 - 'branditems'=> array(  
52 - array(  
53 - 'brandname'=>'背心',  
54 - 'link'=>''  
55 - ),  
56 - array(  
57 - 'brandname'=>'T恤',  
58 - 'link'=>''  
59 - )  
60 - )  
61 - )  
62 - )  
63 - ),  
64 - array(  
65 - 'name'=>'男首3',  
66 - 'link'=>'',  
67 - 'index_sub'=>2,  
68 - 'thirdnav' => array(  
69 - array(  
70 - 'title' =>'上装',  
71 - 'branditems'=> array(  
72 - array(  
73 - 'brandname'=>'背心',  
74 - 'link'=>''  
75 - ),  
76 - array(  
77 - 'brandname'=>'T恤',  
78 - 'link'=>''  
79 - )  
80 - )  
81 - )  
82 - )  
83 - )  
84 - )  
85 - ),  
86 - array(  
87 - 'name_cn'=>'女生',  
88 - 'name_en'=>'GIRLS',  
89 - 'link' => 'http=>//www.baidu.com',  
90 - 'classname' => '',  
91 - 'index_main' => 0,  
92 - 'subnav' => array(  
93 - array(  
94 - 'name'=>'女生1',  
95 - 'link'=>'',  
96 - 'index_sub'=>0,  
97 - 'thirdnav' => array(  
98 - array(  
99 - 'title' =>'上装',  
100 - 'branditems'=> array(  
101 - array(  
102 - 'brandname'=>'背心',  
103 - 'link'=>''  
104 - ),  
105 - array(  
106 - 'brandname'=>'T恤',  
107 - 'link'=>''  
108 - )  
109 - )  
110 - )  
111 - )  
112 - ),  
113 - array(  
114 - 'name'=>'女生2',  
115 - 'link'=>'',  
116 - 'index_sub'=>1,  
117 - 'thirdnav' => array(  
118 - array(  
119 - 'title' =>'上装',  
120 - 'branditems'=> array(  
121 - array(  
122 - 'brandname'=>'背心',  
123 - 'link'=>''  
124 - ),  
125 - array(  
126 - 'brandname'=>'T恤',  
127 - 'link'=>''  
128 - )  
129 - )  
130 - )  
131 - )  
132 - ),  
133 - array(  
134 - 'name'=>'女生3',  
135 - 'link'=>'',  
136 - 'index_sub'=>2,  
137 - 'thirdnav' => array(  
138 - array(  
139 - 'title' =>'上装',  
140 - 'branditems'=> array(  
141 - array(  
142 - 'brandname'=>'背心',  
143 - 'link'=>''  
144 - ),  
145 - array(  
146 - 'brandname'=>'T恤',  
147 - 'link'=>''  
148 - )  
149 - )  
150 - )  
151 - )  
152 - )  
153 - )  
154 - )  
155 - ),  
156 - 'myyoho' => array(  
157 - 'email'=>'hhh@126.com',  
158 - 'viptype'=>'普通会员',  
159 - 'currentscore' => 495,  
160 - 'totalscore' => 600,  
161 - 'cardtype' => '银卡',  
162 - 'infolist' => array(  
163 - array(  
164 - 'name' =>'待处理的订单',  
165 - 'link' =>'',  
166 - 'num' => '0'  
167 - ),  
168 - array(  
169 - 'name' =>'我的收藏',  
170 - 'link' =>'',  
171 - 'num' => '1'  
172 - ),  
173 - array(  
174 - 'name' =>'我的优惠券',  
175 - 'link' =>'',  
176 - 'num' => '2'  
177 - ),  
178 - array(  
179 - 'name' =>'我的YOHO币',  
180 - 'link' =>'',  
181 - 'num' => '1'  
182 - ),  
183 - array(  
184 - 'name' =>'我的退货换货',  
185 - 'link' =>'',  
186 - 'num' => '1'  
187 - )  
188 - ),  
189 - 'updlink' => ''  
190 - ),  
191 - 'gobuy'=> array(  
192 - 'gobuynum' =>3  
193 - ),  
194 - 'breadcrumbnav'=> array(  
195 - array(  
196 - 'notend'=>array(  
197 - 'link' => 'http=>//www.baidu.com',  
198 - 'name' => 'BOYS首页'  
199 - )  
200 - ),  
201 - array(  
202 - 'notend'=>array(  
203 - 'link' => 'http=>//www.baidu.com',  
204 - 'name' => '上衣'  
205 - )  
206 - ),  
207 - array(  
208 - 'isend'=>array(  
209 - 'link' => 'http=>//www.baidu.com',  
210 - 'name' => '衬衫'  
211 - )  
212 - )  
213 - )  
214 - );  
215 -  
216 - 12 + $this->setWebNavHeader(HomeModel::COOKIE_NAME_GIRLS);
217 //数据变量 13 //数据变量
218 $imgsrc='http://img11.static.yhbimg.com/goodsimg/2015/10/19/10/01b312c3b7a7efebcd671e73495ff3e306.jpg'; 14 $imgsrc='http://img11.static.yhbimg.com/goodsimg/2015/10/19/10/01b312c3b7a7efebcd671e73495ff3e306.jpg';
219 $name_href=array('name'=>'衣服','url'=>''); 15 $name_href=array('name'=>'衣服','url'=>'');
@@ -253,7 +49,6 @@ class GirlsController extends AbstractAction @@ -253,7 +49,6 @@ class GirlsController extends AbstractAction
253 ) 49 )
254 ); 50 );
255 $data = array( 51 $data = array(
256 - 'headerdata' => $headerdata,  
257 'boysHomePage' => true, 52 'boysHomePage' => true,
258 'girls' => array( 53 'girls' => array(
259 array( 54 array(
  1 +<?php
  2 +namespace Index;
  3 +use Configs\CacheConfig;
  4 +use Configs\ChannelConfig;
  5 +use Plugin\Helpers;
  6 +use Plugin\Cache;
  7 +use LibModels\Web\Home\IndexData;
  8 +use LibModels\Web\Product\SearchData;
  9 +/**
  10 + * web首页模板数据模型
  11 + *
  12 + * @name HomeModel
  13 + * @package models
  14 + * @copyright yoho.inc
  15 + * @version 1.0 (2015-12-20 11:08:21)
  16 + * @author whb <huanbao.wang@yoho.cn>
  17 + */
  18 +class HomeModel
  19 +{
  20 + /* COOKIE标识访问的是男生频道 */
  21 + const COOKIE_NAME_BOYS = 'boys';
  22 + /* COOKIE标识访问的是女生频道 */
  23 + const COOKIE_NAME_GIRLS = 'girls';
  24 + /* COOKIE标识访问的是潮童频道 */
  25 + const COOKIE_NAME_KIDS = 'kids';
  26 + /* COOKIE标识访问的是创意生活频道 */
  27 + const COOKIE_NAME_LIFESTYLE = 'lifestyle';
  28 +
  29 + //男首首页
  30 + const CODE_BOYS_CHANNEL = '';
  31 + //女首首页
  32 + const CODE_GIRLS_CHANNEL = 'a519ba44ef3a85cf3c05e405c6ba8e53';
  33 + //潮童首页
  34 + const CODE_KIDS_CHANNEL = 'a7741b94e8bb9d56d0d36e00c05956f7';
  35 + //创意生活
  36 + const CODE_LIFESTYLE_CHANNEL_1 = '380c38155fd8beee10913a3f5b462da6';
  37 + const CODE_LIFESTYLE_CHANNEL_2 = '665f7c2fb9d037ee820766953ee34bf7';
  38 +
  39 + /**
  40 + * 获取导航
  41 + *
  42 + * @param string $channel
  43 + * @return array
  44 + */
  45 + public static function getNavBars($channel = 'boys')
  46 + {
  47 + $data = IndexData::getNavData();
  48 + if(empty($data)) {
  49 + return array();
  50 + }
  51 + $menu = array();
  52 + $item = array();
  53 + foreach ($data['data'] as $val){
  54 + $item = array (
  55 + 'name_cn' => $val['sort_name'], //父级
  56 + 'name_en' => $val['sort_name_en'],
  57 + 'link'=> $val['sort_url'],
  58 + 'icon'=> $val['sort_ico'],
  59 + 'classname' => str_replace(' ', '', strtolower($val['sort_name_en'])) == $channel ? $channel : '',
  60 + 'index_main' => 0,
  61 + 'is_hot'=> $val['is_hot'] == 'Y' ? true:false,
  62 + 'is_new' => $val['is_new'] == 'Y' ? true:false,
  63 + 'subnav' => array(),
  64 + );
  65 + foreach($val['sub'] as $sub) { //二级
  66 + $index_sub = 0;
  67 + $subnav = array(
  68 + 'name' => $sub['sort_name'],
  69 + 'name_en'=> $sub['sort_name_en'],
  70 + 'link'=> $sub['sort_url'],
  71 + 'is_hot'=> $sub['is_hot'] == 'Y' ? true:false,
  72 + 'is_new' => $sub['is_new'] == 'Y' ? true:false,
  73 + 'thirdnav'=> array(),
  74 + 'index_sub'=> $index_sub++ ,
  75 + );
  76 + if(isset($sub['sub']))
  77 + {
  78 + foreach($sub['sub'] as $thirdsub) { //三级
  79 + $thirdnav = array(
  80 + 'title' => $thirdsub['sort_name'],
  81 + 'name_en'=> $thirdsub['sort_name_en'],
  82 + 'link'=> $thirdsub['sort_url'],
  83 + 'branditems'=> array(),
  84 + );
  85 + if(isset($thirdsub['sub'])){
  86 + foreach($thirdsub['sub'] as $fourthnav) { //四级
  87 + $thirdnav['branditems'][] = array(
  88 + 'brandname'=> $fourthnav['sort_name'],
  89 + 'link' => $fourthnav['sort_url'],
  90 + );
  91 + }
  92 + }
  93 + $subnav['thirdnav'][] = $thirdnav;
  94 + }
  95 + }
  96 + $item['subnav'][] = $subnav;
  97 + }
  98 + $menu[] = $item;
  99 + }
  100 + return $menu;
  101 + }
  102 +
  103 + /**
  104 + * 设置选择的频道保存到浏览器COOKIE
  105 + *
  106 + * @param string $cookie
  107 + * @return void
  108 + */
  109 + public static function setSwitchToCookie($cookie)
  110 + {
  111 + setcookie('_Channel', $cookie, time() + 86400 * 300, '/', COOKIE_DOMAIN);
  112 + }
  113 +
  114 + /**
  115 + * 获取选择频道
  116 + *
  117 + * @return string
  118 + */
  119 + public static function getSwitchChannel()
  120 + {
  121 + $channel = self::COOKIE_NAME_BOYS;
  122 + if (empty($_COOKIE['_Channel'])) {
  123 + self::setSwitchToCookie(self::COOKIE_NAME_BOYS);
  124 + }
  125 + else {
  126 + $channel = $_COOKIE['_Channel'];
  127 + }
  128 + return $channel;
  129 + }
  130 +
  131 + /**
  132 + * 获取频道资源
  133 + *
  134 + * @param string $content_code
  135 + * @return array
  136 + */
  137 + public static function getChannelResource($content_code)
  138 + {
  139 + $data = IndexData::getResourceData($content_code);
  140 + //格式化数据
  141 + }
  142 +
  143 + /**
  144 + * 获取最新上架商品
  145 + *
  146 + * @param string $channel
  147 + * @return array
  148 + */
  149 + public static function getNewArrival($channel)
  150 + {
  151 + $result = array();
  152 + $params = array(
  153 + 'order' => 's_t_desc',
  154 + 'shelve_time' => strtotime("-60 days").','.time()
  155 + );
  156 + //最新上架分类
  157 + if(isset(ChannelConfig::$newArrivalSortList[$channel])) {
  158 + $sortList = ChannelConfig::$newArrivalSortList[$channel];
  159 + //获取分类列表获取商品信息
  160 + $result = SearchData::getSearchDataBySort($params, $sortList);
  161 + //格式化数据
  162 + }
  163 + return $result;
  164 + }
  165 +}