Showing
10 changed files
with
586 additions
and
421 deletions
library/Action/WebAction.php
0 → 100644
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 |
library/Configs/ChannelConfig.php
0 → 100644
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 | +} |
library/LibModels/Web/Home/IndexData.php
0 → 100644
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 | +} |
library/LibModels/Web/Product/SearchData.php
0 → 100644
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 | +} |
-
Please register or login to post a comment