Authored by hf

modify layout header add dns-prefetch

@@ -10,4 +10,8 @@ npm-debug.log @@ -10,4 +10,8 @@ npm-debug.log
10 composer.lock 10 composer.lock
11 vendor/ 11 vendor/
12 .jscsrc 12 .jscsrc
13 -.jshintrc  
  13 +.jshintrc
  14 +.tags
  15 +.tags_sorted_by_file
  16 +yohobuyP.sublime-project
  17 +yohobuyP.sublime-workspace
@@ -354,6 +354,11 @@ class AbstractAction extends Controller_Abstract @@ -354,6 +354,11 @@ class AbstractAction extends Controller_Abstract
354 { 354 {
355 $header = array(); 355 $header = array();
356 356
  357 + // 判断是否是微信浏览器浏览
  358 + if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') === false) {
  359 + $header['isShow'] = true;
  360 + }
  361 +
357 if ($backUrl) { 362 if ($backUrl) {
358 $header['navBack'] = true; 363 $header['navBack'] = true;
359 } 364 }
@@ -18,15 +18,15 @@ class Yohobuy @@ -18,15 +18,15 @@ class Yohobuy
18 { 18 {
19 19
20 /* 正式环境 */ 20 /* 正式环境 */
21 - const API_URL = 'http://api2.open.yohobuy.com/';  
22 - const SERVICE_URL = 'http://service.api.yohobuy.com/';  
23 - const YOHOBUY_URL = 'http://www.yohobuy.com/';  
24 -  
25 -// /* 测试环境 */  
26 -// const API_URL = 'http://test2.open.yohobuy.com/';  
27 -// const SERVICE_URL = 'http://test.service.api.yohobuy.com/'; 21 +// const API_URL = 'http://api2.open.yohobuy.com/';
  22 +// const SERVICE_URL = 'http://service.api.yohobuy.com/';
28 // const YOHOBUY_URL = 'http://www.yohobuy.com/'; 23 // const YOHOBUY_URL = 'http://www.yohobuy.com/';
29 24
  25 +// /* 测试环境 */
  26 + const API_URL = 'http://test2.open.yohobuy.com/';
  27 + const SERVICE_URL = 'http://test.service.api.yohobuy.com/';
  28 + const YOHOBUY_URL = 'http://www.yohobuy.com/';
  29 +
30 /** 30 /**
31 * 私钥列表 31 * 私钥列表
32 * 32 *
@@ -143,6 +143,7 @@ class SearchData @@ -143,6 +143,7 @@ class SearchData
143 143
144 $param = array(); 144 $param = array();
145 $param['status'] = 1; // 是否上架,1表示在架,2表示不在 145 $param['status'] = 1; // 是否上架,1表示在架,2表示不在
  146 + $param['sales'] = 1; // 只搜索销售的产品
146 // $param['needFilter'] = 1; // 是否需要返回筛选条件 147 // $param['needFilter'] = 1; // 是否需要返回筛选条件
147 if (!isset($condition['order'])) { 148 if (!isset($condition['order'])) {
148 $param['order'] = $orderMaps['s_t_desc']; 149 $param['order'] = $orderMaps['s_t_desc'];
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
@@ -63,13 +63,13 @@ function hideSideBar() { @@ -63,13 +63,13 @@ function hideSideBar() {
63 } 63 }
64 } 64 }
65 65
66 -$('.overlay').on('touchend', function(e) { 66 +$('.overlay').on('touchstart', function(e) {
67 hideSideBar(); 67 hideSideBar();
68 return false; 68 return false;
69 }); 69 });
70 70
71 //点击一级导航,弹出二级导航 71 //点击一级导航,弹出二级导航
72 -$sideNav.on('touchend', 'li', function (e) { 72 +$sideNav.on('touchstart', 'li', function (e) {
73 if ($(this).find('.sub-nav').size() > 0) { 73 if ($(this).find('.sub-nav').size() > 0) {
74 $('.sub-nav').removeClass('show'); 74 $('.sub-nav').removeClass('show');
75 $(this).find('.sub-nav').addClass('show'); 75 $(this).find('.sub-nav').addClass('show');
@@ -83,12 +83,12 @@ $sideNav.on('touchend', 'li', function (e) { @@ -83,12 +83,12 @@ $sideNav.on('touchend', 'li', function (e) {
83 83
84 //返回一级导航,收起二级导航 84 //返回一级导航,收起二级导航
85 $subNav.each(function () { 85 $subNav.each(function () {
86 - $(this).find('li').eq(0).on('touchend', function (e) { 86 + $(this).find('li').eq(0).on('touchstart', function (e) {
87 $('.sub-nav').removeClass('show'); 87 $('.sub-nav').removeClass('show');
88 e.stopPropagation(); 88 e.stopPropagation();
89 return false; 89 return false;
90 }); 90 });
91 -}).on('touchend', function(e) { 91 +}).on('touchstart', function(e) {
92 if (e.currentTarget !== e.target) { 92 if (e.currentTarget !== e.target) {
93 $subNav.find('li').removeClass('current'); 93 $subNav.find('li').removeClass('current');
94 } 94 }
@@ -41,3 +41,7 @@ $searchBox.children('.clear-text').on('touchstart', function() { @@ -41,3 +41,7 @@ $searchBox.children('.clear-text').on('touchstart', function() {
41 $searchBox.children('.search-icon').on('touchstart', function() { 41 $searchBox.children('.search-icon').on('touchstart', function() {
42 $indexSearch.submit(); 42 $indexSearch.submit();
43 }); 43 });
  44 +
  45 +$('.index-channel img').on('load', function() {
  46 + window.rePosFooter();
  47 +});
@@ -37,7 +37,7 @@ $input.on('input', function() { @@ -37,7 +37,7 @@ $input.on('input', function() {
37 $icon.css('color', '#b2b2b2'); 37 $icon.css('color', '#b2b2b2');
38 $clear.addClass('hide'); 38 $clear.addClass('hide');
39 } else { 39 } else {
40 - $icon.css('color', '#000'); 40 + $icon.css('color', '#666');
41 $clear.removeClass('hide'); 41 $clear.removeClass('hide');
42 } 42 }
43 }); 43 });
@@ -26,6 +26,10 @@ var $goodsContainer = $('#goods-container'), @@ -26,6 +26,10 @@ var $goodsContainer = $('#goods-container'),
26 26
27 var winH = $(window).height(); 27 var winH = $(window).height();
28 28
  29 +var $input = $('#search-input input'),
  30 + $icon = $('.search-icon'),
  31 + $clear = $('#search-input .clear-input');
  32 +
29 //默认筛选条件 33 //默认筛选条件
30 var defaultOpt = { 34 var defaultOpt = {
31 gender: $('#gender').val(), 35 gender: $('#gender').val(),
@@ -69,6 +73,21 @@ var $listNav = $('#list-nav'), @@ -69,6 +73,21 @@ var $listNav = $('#list-nav'),
69 btnIntroHammer, 73 btnIntroHammer,
70 introHammer, 74 introHammer,
71 brandColHammer; 75 brandColHammer;
  76 +
  77 +$input.on('input', function() {
  78 + if ($input.val() === '') {
  79 + $icon.css('color', '#b2b2b2');
  80 + $clear.addClass('hide');
  81 + } else {
  82 + $icon.css('color', '#666');
  83 + $clear.removeClass('hide');
  84 + }
  85 +});
  86 +
  87 +$clear.on('touchend', function() {
  88 + $input.val('').trigger('input');
  89 +});
  90 +
72 /** 91 /**
73 * 手动触发搜索 92 * 手动触发搜索
74 */ 93 */
@@ -56,6 +56,10 @@ @@ -56,6 +56,10 @@
56 56
57 .good-detail-img { 57 .good-detail-img {
58 position: relative; 58 position: relative;
  59 + display: table-cell;
  60 + height: 388rem / $pxConvertRem;
  61 + vertical-align: middle;
  62 +
59 .good-islike { 63 .good-islike {
60 position: absolute; 64 position: absolute;
61 width: 60rem / $pxConvertRem; 65 width: 60rem / $pxConvertRem;
@@ -75,7 +79,7 @@ @@ -75,7 +79,7 @@
75 img { 79 img {
76 display: block; 80 display: block;
77 width: 100%; 81 width: 100%;
78 - max-height: 366rem / $pxConvertRem; 82 + max-height: 388rem / $pxConvertRem;
79 } 83 }
80 84
81 .few-tag { 85 .few-tag {
1 .brand-page { 1 .brand-page {
2 -  
3 .newbrand-search { 2 .newbrand-search {
4 width: 93.75%; 3 width: 93.75%;
5 height: 60rem / $pxConvertRem; 4 height: 60rem / $pxConvertRem;
@@ -44,7 +43,7 @@ @@ -44,7 +43,7 @@
44 border: none; 43 border: none;
45 width: 95%; 44 width: 95%;
46 height: 60rem / $pxConvertRem; 45 height: 60rem / $pxConvertRem;
47 - line-height: 60rem / $pxConvertRem; 46 + // line-height: 1;
48 font-size: 1.2em; 47 font-size: 1.2em;
49 padding: 0 10rem / $pxConvertRem; 48 padding: 0 10rem / $pxConvertRem;
50 } 49 }
@@ -56,25 +55,24 @@ @@ -56,25 +55,24 @@
56 right: -74rem / $pxConvertRem; 55 right: -74rem / $pxConvertRem;
57 font-size: 32rem / $pxConvertRem; 56 font-size: 32rem / $pxConvertRem;
58 line-height: 60rem / $pxConvertRem; 57 line-height: 60rem / $pxConvertRem;
59 - color: #bdbdbd; 58 + color: #666;
60 } 59 }
61 60
62 .cancel-btn { 61 .cancel-btn {
63 display: inline; 62 display: inline;
64 - color: #bdbdbd;  
65 font-size: 32rem / $pxConvertRem; 63 font-size: 32rem / $pxConvertRem;
66 vertical-align: middle; 64 vertical-align: middle;
67 } 65 }
68 66
69 .clear-text { 67 .clear-text {
70 margin-right: 20rem / $pxConvertRem; 68 margin-right: 20rem / $pxConvertRem;
71 - color: #666;  
72 } 69 }
73 } 70 }
74 } 71 }
75 72
76 .banner-top { 73 .banner-top {
77 padding-top: 178rem / $pxConvertRem; 74 padding-top: 178rem / $pxConvertRem;
  75 + background-color:#f8f8f8;
78 } 76 }
79 77
80 .hot-brand { 78 .hot-brand {
@@ -38,6 +38,10 @@ $clothes: sprite-map("guang/clothes/*.png"); @@ -38,6 +38,10 @@ $clothes: sprite-map("guang/clothes/*.png");
38 38
39 &.has-head { 39 &.has-head {
40 top: 90rem / $pxConvertRem; 40 top: 90rem / $pxConvertRem;
  41 +
  42 + + .fixed-top {
  43 + top: 90rem / $pxConvertRem;
  44 + }
41 } 45 }
42 } 46 }
43 47
@@ -131,7 +135,7 @@ $clothes: sprite-map("guang/clothes/*.png"); @@ -131,7 +135,7 @@ $clothes: sprite-map("guang/clothes/*.png");
131 135
132 .thumb-container { 136 .thumb-container {
133 padding-top: 30rem / $pxConvertRem; 137 padding-top: 30rem / $pxConvertRem;
134 - padding-left: 30rem / $pxConvertRem; 138 + padding-left: 20rem / $pxConvertRem;
135 background: transparent image-url('guang/thumb-container-bg.png') no-repeat; 139 background: transparent image-url('guang/thumb-container-bg.png') no-repeat;
136 background-size: 200% 100%; 140 background-size: 200% 100%;
137 141
@@ -10,13 +10,23 @@ @@ -10,13 +10,23 @@
10 line-height: 96rem / $pxConvertRem; 10 line-height: 96rem / $pxConvertRem;
11 11
12 .index-logo { 12 .index-logo {
  13 + display: table-cell;
13 float: left; 14 float: left;
14 font-size: 50rem / $pxConvertRem; 15 font-size: 50rem / $pxConvertRem;
15 width: 216rem / $pxConvertRem; 16 width: 216rem / $pxConvertRem;
  17 + height: 96rem / $pxConvertRem;
16 color: #343434; 18 color: #343434;
  19 + vertical-align: middle;
17 opacity: 1; 20 opacity: 1;
18 transition: all 400ms; 21 transition: all 400ms;
19 22
  23 + img {
  24 + display: inline;
  25 + vertical-align: middle;
  26 + width: 207rem / $pxConvertRem;
  27 + height: 49rem / $pxConvertRem;
  28 + }
  29 +
20 &.action { 30 &.action {
21 opacity: 0; 31 opacity: 0;
22 width: 0; 32 width: 0;
@@ -82,7 +92,7 @@ @@ -82,7 +92,7 @@
82 } 92 }
83 .search-icon { 93 .search-icon {
84 right: 10rem / $pxConvertRem; 94 right: 10rem / $pxConvertRem;
85 - color: #000; 95 + color: #666;
86 96
87 &.empty { 97 &.empty {
88 color: #e6e6e6; 98 color: #e6e6e6;
@@ -16,9 +16,9 @@ @@ -16,9 +16,9 @@
16 16
17 input { 17 input {
18 height: 56rem / $pxConvertRem; 18 height: 56rem / $pxConvertRem;
19 - width: 430rem / $pxConvertRem; 19 + width: 378rem / $pxConvertRem;
20 border-radius: 28rem / $pxConvertRem; 20 border-radius: 28rem / $pxConvertRem;
21 - padding-left: 52rem / $pxConvertRem; 21 + padding: 0 52rem / $pxConvertRem;
22 font-size: 24rem / $pxConvertRem; 22 font-size: 24rem / $pxConvertRem;
23 background: #fff; 23 background: #fff;
24 border: none; 24 border: none;
@@ -26,7 +26,7 @@ @@ -26,7 +26,7 @@
26 26
27 .clear-input { 27 .clear-input {
28 position: absolute; 28 position: absolute;
29 - top: 24rem / $pxConvertRem; 29 + top: 20rem / $pxConvertRem;
30 right: 145rem / $pxConvertRem; 30 right: 145rem / $pxConvertRem;
31 font-size: 32rem / $pxConvertRem; 31 font-size: 32rem / $pxConvertRem;
32 color: #666; 32 color: #666;
@@ -56,6 +56,8 @@ @@ -56,6 +56,8 @@
56 float: left; 56 float: left;
57 margin-right: 20rem / $pxConvertRem; 57 margin-right: 20rem / $pxConvertRem;
58 margin-bottom: 20rem / $pxConvertRem; 58 margin-bottom: 20rem / $pxConvertRem;
  59 + max-width: 100%;
  60 + overflow: hidden;
59 } 61 }
60 62
61 a { 63 a {
@@ -66,6 +68,9 @@ @@ -66,6 +68,9 @@
66 font-size: 28rem / $pxConvertRem; 68 font-size: 28rem / $pxConvertRem;
67 background: #f8f8f8; 69 background: #f8f8f8;
68 color: #000; 70 color: #000;
  71 + overflow: hidden;
  72 + text-overflow: ellipsis;
  73 + white-space: nowrap;
69 } 74 }
70 75
71 .clear-history { 76 .clear-history {
1 .yoho-footer { 1 .yoho-footer {
2 font-size: 12px; 2 font-size: 12px;
3 background-color: #fff; 3 background-color: #fff;
  4 + margin-bottom: 2.5rem;
4 5
5 .op-row { 6 .op-row {
6 position: relative; 7 position: relative;
@@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
6 overflow: hidden; 6 overflow: hidden;
7 height: 90rem / $pxConvertRem; 7 height: 90rem / $pxConvertRem;
8 line-height: 90rem / $pxConvertRem; 8 line-height: 90rem / $pxConvertRem;
  9 + z-index: 1;
9 10
10 &.boys { 11 &.boys {
11 @include background-image(linear-gradient(#323232, #414141)); 12 @include background-image(linear-gradient(#323232, #414141));
@@ -16,10 +16,12 @@ @@ -16,10 +16,12 @@
16 } 16 }
17 17
18 input { 18 input {
  19 + box-sizing: border-box;
  20 + padding-left: 26px;
19 height: 30px; 21 height: 30px;
20 width: 85%; 22 width: 85%;
21 border-radius: 15px; 23 border-radius: 15px;
22 - text-indent: 26px; 24 + // text-indent: 26px;
23 background: #fff; 25 background: #fff;
24 border: none; 26 border: none;
25 } 27 }
@@ -33,11 +35,11 @@ @@ -33,11 +35,11 @@
33 .search { 35 .search {
34 position: absolute; 36 position: absolute;
35 top: 2px; 37 top: 2px;
36 - right: -30px; 38 + right: -4px;
37 border: none; 39 border: none;
38 background: transparent; 40 background: transparent;
39 font-size: 16px; 41 font-size: 16px;
40 - width: 3rem; 42 + // width: 3rem;
41 height: 30px; 43 height: 30px;
42 overflow: hidden; 44 overflow: hidden;
43 line-height: 30px; 45 line-height: 30px;
@@ -2,7 +2,9 @@ @@ -2,7 +2,9 @@
2 <div class="index-page yoho-page"> 2 <div class="index-page yoho-page">
3 <div class="index-container"> 3 <div class="index-container">
4 <div class="index-header clearfix"> 4 <div class="index-header clearfix">
5 - <div class="iconfont index-logo">&#xe60e;</div> 5 + <div class="index-logo">
  6 + <img src="http://static.dev.yohobuy.com/img/yohologo.png">
  7 + </div>
6 <div class="box"> 8 <div class="box">
7 <a href="javascript:void(0);" class="no-search">取消</a> 9 <a href="javascript:void(0);" class="no-search">取消</a>
8 <form action="{{searchUrl}}" class="index-search"> 10 <form action="{{searchUrl}}" class="index-search">
  1 +{{> layout/header}}
  2 +<div class="discount-page yoho-page">
  3 + {{# headerBanner}}
  4 + {{> product/banner_swipe_and_single}}
  5 + {{/ headerBanner}}
  6 +
  7 + <ul id="list-nav" class="list-nav clearfix">
  8 + <li class="new active">
  9 + <a href="javascript:void(0);">
  10 + <span class="spanTest">最新</span>
  11 + <span class="iconfont cur">&#xe616;</span>
  12 + </a>
  13 + </li>
  14 + <li class="price">
  15 + <a href="javascript:void(0);">
  16 + <span class="spanTest">价格</span>
  17 + <span class="icon">
  18 + <i class="iconfont up">&#xe615;</i>
  19 + <i class="iconfont down cur">&#xe616;</i>
  20 + </span>
  21 + </a>
  22 + </li>
  23 + <li class="discount">
  24 + <a href="javascript:void(0);">
  25 + <span class="spanTest">折扣</span>
  26 + <span class="icon">
  27 + <i class="iconfont up">&#xe615;</i>
  28 + <i class="iconfont down cur">&#xe616;</i>
  29 + </span>
  30 + </a>
  31 + </li>
  32 + <li class="filter">
  33 + <a href="javascript:void(0);">
  34 + <span class="spanTest">筛选</span>
  35 + <span class="iconfont">&#xe613;</span>
  36 + </a>
  37 + </li>
  38 + </ul>
  39 +
  40 + <div id="goods-container" class="goods-container">
  41 + <div class="new-goods container clearfix">
  42 + {{# goods}}
  43 + {{> good}}
  44 + {{/ goods}}
  45 + </div>
  46 + <div class="price-goods container hide clearfix"></div>
  47 + <div class="discount-goods container hide clearfix"></div>
  48 +
  49 + {{> filter}}
  50 + </div>
  51 +
  52 + {{#if brand}}
  53 + <input id="brand" type="hidden" value={{brand}}>
  54 + {{/if}}
  55 +
  56 + {{#if gender}}
  57 + <input id="gender" type="hidden" value={{gender}}>
  58 + {{/if}}
  59 +
  60 + {{#if sort}}
  61 + <input id="sort" type="hidden" value={{sort}}>
  62 + {{/if}}
  63 +
  64 + {{#if msort}}
  65 + <input id="msort" type="hidden" value={{msort}}>
  66 + {{/if}}
  67 +
  68 + {{#if misort}}
  69 + <input id="misort" type="hidden" value={{misort}}>
  70 + {{/if}}
  71 +
  72 + {{#if color}}
  73 + <input id="color" type="hidden" value={{color}}>
  74 + {{/if}}
  75 +
  76 + {{#if size}}
  77 + <input id="size" type="hidden" value={{size}}>
  78 + {{/if}}
  79 +
  80 + {{#if price}}
  81 + <input id="price" type="hidden" value={{price}}>
  82 + {{/if}}
  83 +
  84 + {{#if p_d}}
  85 + <input id="p_d" type="hidden" value={{p_d}}>
  86 + {{/if}}
  87 +
  88 + {{#if channel}}
  89 + <input id="channel" type="hidden" value={{channel}}>
  90 + {{/if}}
  91 +
  92 + {{#if limit}}
  93 + <input id="limit" type="hidden" value={{limit}}>
  94 + {{/if}}
  95 +
  96 + {{#if page}}
  97 + <input id="page" type="hidden" value={{page}}>
  98 + {{/if}}
  99 +
  100 + {{#if discount}}
  101 + <input id="discount" type="hidden" value={{discount}}>
  102 + {{/if}}
  103 +
  104 + {{> product/suspend-cart}}
  105 +</div>
  106 +{{> layout/footer}}
@@ -22,6 +22,10 @@ @@ -22,6 +22,10 @@
22 }()); 22 }());
23 })(document, window); 23 })(document, window);
24 </script> 24 </script>
  25 +<link rel="dns-prefetch" href="//cdn.yoho.cn">
  26 +<link rel="dns-prefetch" href="//static.yohobuy.com">
  27 +<link rel="dns-prefetch" href="//img12.static.yhbimg.com">
  28 +<link rel="dns-prefetch" href="//img13.static.yhbimg.com">
25 {{#if rlsEnv}} 29 {{#if rlsEnv}}
26 <link rel="stylesheet" href="http://cdn.yoho.cn/myohobuy/{{version}}/index.css"> 30 <link rel="stylesheet" href="http://cdn.yoho.cn/myohobuy/{{version}}/index.css">
27 {{/if}} 31 {{/if}}
1 {{#pageHeader}} 1 {{#pageHeader}}
  2 +{{# isShow}}
2 <header class="yoho-header{{#if boys}} boys{{/if}}{{#if girls}} girls{{/if}}{{#if kids}} kids{{/if}}{{#if lifeStyle}} life-style{{/if}}"> 3 <header class="yoho-header{{#if boys}} boys{{/if}}{{#if girls}} girls{{/if}}{{#if kids}} kids{{/if}}{{#if lifeStyle}} life-style{{/if}}">
3 {{#if navBack}} 4 {{#if navBack}}
4 <a href="javascript:history.go(-1);" class="nav-back"></a> 5 <a href="javascript:history.go(-1);" class="nav-back"></a>
@@ -10,4 +11,5 @@ @@ -10,4 +11,5 @@
10 <p class="nav-title">{{.}}</p> 11 <p class="nav-title">{{.}}</p>
11 {{/navTitle}} 12 {{/navTitle}}
12 </header> 13 </header>
  14 +{{/ isShow}}
13 {{/pageHeader}} 15 {{/pageHeader}}
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
5 <i class="search-icon iconfont">&#xe60f;</i> 5 <i class="search-icon iconfont">&#xe60f;</i>
6 <input type="text" value="{{default}}" name="query"> 6 <input type="text" value="{{default}}" name="query">
7 <input type="hidden" value="search" name="from"> 7 <input type="hidden" value="search" name="from">
8 - <i class="clear-input iconfont hide">&#xe61a;</i> 8 + <i class="clear-input iconfont hide">&#xe626;</i>
9 <span id="search" class="search" type="submit">搜索</span> 9 <span id="search" class="search" type="submit">搜索</span>
10 </form> 10 </form>
11 </div> 11 </div>
@@ -70,6 +70,33 @@ class NewsaleController extends AbstractAction @@ -70,6 +70,33 @@ class NewsaleController extends AbstractAction
70 } 70 }
71 71
72 /** 72 /**
  73 + * 热销排行榜
  74 + *
  75 + * @param int channel 1:男生,2:女生,3:潮童,4:创意生活
  76 + */
  77 + public function hotrankAction()
  78 + {
  79 + $this->setTitle('热销排行榜');
  80 + $this->setNavHeader('热销排行榜');
  81 +
  82 + // 设置一些默认参数
  83 + $data = array(
  84 + 'discountPage' => true,
  85 + 'showDownloadApp' => true,
  86 + 'pageFooter' => true,
  87 + 'brand' => '0',
  88 + 'sort' => '0',
  89 + 'gender' => Helpers::getGenderByCookie(),
  90 + 'price' => '0',
  91 + 'size' => '0',
  92 + 'discount' => '0.1,0.9',
  93 + 'cartUrl' => Helpers::url('/cart/index/index', null),
  94 + );
  95 +
  96 + $this->_view->display('hotrank', $data);
  97 + }
  98 +
  99 + /**
73 * Ajax方式筛选新品到着、折扣专区商品 100 * Ajax方式筛选新品到着、折扣专区商品
74 * 101 *
75 * @return array 根据指定条件筛选之后的商品 102 * @return array 根据指定条件筛选之后的商品
@@ -89,6 +89,13 @@ routes.productsale.route.module = Product @@ -89,6 +89,13 @@ routes.productsale.route.module = Product
89 routes.productsale.route.controller = Newsale 89 routes.productsale.route.controller = Newsale
90 routes.productsale.route.action = Discount 90 routes.productsale.route.action = Discount
91 91
  92 +; 热销排行榜
  93 +routes.productsale.type = "rewrite"
  94 +routes.productsale.match = "/hotrank"
  95 +routes.productsale.route.module = Product
  96 +routes.productsale.route.controller = Newsale
  97 +routes.productsale.route.action = Hotrank
  98 +
92 ; 女生首页 99 ; 女生首页
93 routes.girls.type = "rewrite" 100 routes.girls.type = "rewrite"
94 routes.girls.match = "/girl$" 101 routes.girls.match = "/girl$"