Authored by xuqi

Merge branch 'develop' of http://git.dev.yoho.cn/web/yohobuy into develop

framework @ 75bbc3b0
Subproject commit e9d066dd88a8e7e37103021c427a205a5cfcdcec
Subproject commit 75bbc3b075de19f239532f60c5995d06c5f814e2
... ...
... ... @@ -102,15 +102,15 @@ class HelperSearch
$result['opts']['pageCount'] = $data['product']['page_total'];
$result['opts']['nextHref'] = ($next = self::next($data['product']['page_total'],$data['product']['filter'])) ? $next['href'] : '';
$result['hasNextPage'] = self::next($data['product']['page_total']);
//全部折扣
$result['leftContent'][]['allDiscount'] = isset($data['discount']) ? self::getDiscount($data['discount']['discount']) : array();
//分类条件
$result['filters']['sort'] = isset($data['sort']) ? self::searchSort($data['sort']['sort']) : array();
//左侧分类分类
$result['leftContent'][]['allSort'] = isset($data['sort']) ? self::groupSort($data['sort']['sort']) : array();
//一周新品上架
$result['leftContent'][]['newSales'] = isset($data['recent']) ? self::recentShelve($data['recent']['recent']) : array();
//全部折扣
$result['leftContent'][]['allDiscount'] = isset($data['discount']) ? self::getDiscount($data['discount']['discount']) : array();
//总记录数
//总记录数
$result['totalCount'] = $data['product']['total'];
//品牌店铺信息
$result['shopEntry'] = isset($data['shop']) && !empty($data['shop']) ? self::shop($data['shop'], $data['sort']['sort']) : array();
... ...
... ... @@ -86,6 +86,7 @@ $('.invoice').on('touchend', '.checkbox', function() {
if ($this.hasClass('icon-checkbox')) {
$('.invoice').removeClass('focus');
}
return false;
});
function orderCompute(firstEnter) {
... ...
... ... @@ -8,7 +8,7 @@
{{! 新品速报}}
{{# newReport}}
<div class="new-report clearfix">
<div class="new-report imgopacity clearfix">
{{> index/floor-header}}
<ul class="report-list clearfix">
... ... @@ -40,7 +40,7 @@
<div class="preference-brand">
{{> index/floor-header}}
<div class="img-brand">
<ul class="img-list clearfix">
<ul class="img-list imgopacity clearfix">
{{# imgBrand}}
<li class="img-item">
<a href="{{href}}" target= "_blank">
... ... @@ -58,7 +58,7 @@
</a>
</div>
</div>
<div class="logo-brand" data-url="{{brandUrl}}"></div>
<div class="logo-brand imgopacity" data-url="{{brandUrl}}"></div>
</div>
{{/ preferenceBrands}}
... ...
... ... @@ -14,14 +14,14 @@
{{/ category}}
</div>
</div>
<div class="tpl-brands clearfix">
<div class="tpl-brands imgopacity clearfix">
<ul>
{{#each brands}}
<li><a title="{{name}}" href="{{href}}" target= "_blank"><img class="lazy" data-original="{{img}}"/></a></li>
{{/each}}
</ul>
</div>
<div class="tpl-types clearfix">
<div class="tpl-types imgopacity clearfix">
<ul>
{{#each types}}
<li><a title="{{name}}" href="{{href}}" target= "_blank"><img class="lazy" data-original="{{img}}"/></a></li>
... ... @@ -29,7 +29,7 @@
</ul>
</div>
</div>
<div class="tpl-products clearfix">
<div class="tpl-products imgopacity clearfix">
<ul>
{{#each products}}
<li><a href="{{href}}" title="{{name}}" target= "_blank"><img class="lazy" data-original="{{img}}"/></a></li>
... ...
<div class="singlehot clearfix">
{{> index/floor-header}}
<ul class="g-list">
<ul class="g-list imgopacity">
{{#each imgHot}}
<li><a class="impo{{@index}}" href="{{href}}" target= "_blank"><img class="lazy" data-original="{{img}}"/></a></li>
{{/each}}
... ...
{{> index/floor-header}}
<div class="categorys-list">
<div class="categorys-list imgopacity">
<ul class="clearfix">
{{# list}}
<li class="cate-item{{@index}}">
... ...
... ... @@ -14,12 +14,12 @@
{{/ category}}
</div>
</div>
<div class="tpl-brands clearfix">
<div class="tpl-brands imgopacity clearfix">
{{#each brands}}
<a title="{{name}}" href="{{href}}" target= "_blank"><img class="lazy" data-original="{{img}}"/></a>
{{/each}}
</div>
<div class="tpl-types clearfix">
<div class="tpl-types imgopacity clearfix">
<ul>
{{#each types}}
<li><a title="{{name}}" href="{{href}}" target= "_blank"><img class="lazy" data-original="{{img}}"/></a></li>
... ...
<div class="commodity clearfix">
{{> index/floor-header}}
<div class="commodity-list">
<ul class="g-list clearfix">
<ul class="g-list imgopacity clearfix">
{{#each imgHot}}
<li>
<a href="{{href}}" target= "_blank"><div class="commodity-img">
... ... @@ -16,7 +16,7 @@
{{/each}}
</ul>
</div>
<div class="commodity-brands clearfix">
<div class="commodity-brands imgopacity clearfix">
{{#each brands}}
<a href="{{href}}" title="{{name}}" target= "_blank"><img class="lazy" data-original="{{img}}"/></a>
{{/each}}
... ...
{{> index/floor-header}}
<div class="preference-brand">
<div class="preference-brand imgopacity">
<div class="img-slider-wrapper clearfix">
<div class="img-brand-switch">
<a class="prev iconfont" href="javascript:;">&#xe60f;</a>
... ... @@ -15,6 +15,6 @@
</ul>
</div>
</div>
<div class="logo-brand" data-url="{{brandUrl}}">
<div class="logo-brand " data-url="{{brandUrl}}">
</div>
</div>
\ No newline at end of file
... ...
<div class="register-page">
<!--<form id="register-form" class="register-form" method="POST" action="{{actionUrl}}" autocomplete="off">-->
<ul>
<li class="clearfix">
<select id="region" class="region" name="region">
{{#each region}}
<option {{#if selected}}selected="selected"{{/if}} value="{{areaCode}}">{{name}}</option>
{{/each}}
</select>
</li>
<li class="clearfix" data-index="0">
<span id="country-code" class="country-code">{{location}}</span>
<input value="" id="phone-num" class="input va phone-num" type="text" name="phoneNum" placeholder="请输入手机号码" autocomplete="off">
</li>
<li class="w330 clearfix" data-index="1">
<input id="captcha" class="input va captcha" type="text" name="captcha" placeholder="图形验证码" autocomplete="off" maxlength="4">
<img id="captcha-img" class="captcha-img" src="{{captchaUrl}}" alt="">
<a class="link change-captcha">换一张</a>
</li>
<li class="clearfix" data-index="2">
<input id="msg-captcha" class="input va msg-captcha" type="text" name="msgCaptcha" placeholder="短信验证码" autocomplete="off" maxlength="4">
<input id="send-captcha" class="btn send-captcha disable" type="button" value="获取短信验证码">
<span id="msg-tip" class="hide msg-tip">短信验证码已发送至您的手机,请查收</span>
</li>
<li class="clearfix" data-index="3">
<input id="pwd" class="input va pwd" name="pwd" placeholder="设置密码" autocomplete="off" maxlength="20" type="password">
<div class="pwd-intensity-container">
<span class="pwd-intensity low">低</span>
<span class="pwd-intensity mid">中</span>
<span class="pwd-intensity high">高</span>
</div>
<div id="pwd-tips" class="hide pwd-tips">
<div class="default" id="pwd-tip1"><i></i>密码只支持6-20位字符</div>
<div class="default" id="pwd-tip2"><i></i>建议由字母、 数字、 符号两种以上组合</div>
</div>
</li>
<ul>
<li class="clearfix">
<select id="region" class="region" name="region">
{{#each region}}
<option {{#if selected}}selected="selected"{{/if}} value="{{areaCode}}">{{name}}</option>
{{/each}}
</select>
</li>
<li class="clearfix" data-index="0">
<span id="country-code" class="country-code">{{location}}</span>
<input value="" id="phone-num" class="input va phone-num" type="text" name="phoneNum" placeholder="请输入手机号码" autocomplete="off">
</li>
<li class="w330 clearfix" data-index="1">
<input id="captcha" class="input va captcha" type="text" name="captcha" placeholder="图形验证码" autocomplete="off" maxlength="4">
<img id="captcha-img" class="captcha-img" src="{{captchaUrl}}" alt="">
<a class="link change-captcha">换一张</a>
</li>
<li class="clearfix" data-index="2">
<input id="msg-captcha" class="input va msg-captcha" type="text" name="msgCaptcha" placeholder="短信验证码" autocomplete="off" maxlength="4">
<input id="send-captcha" class="btn send-captcha disable" type="button" value="获取短信验证码">
<span id="msg-tip" class="hide msg-tip">短信验证码已发送至您的手机,请查收</span>
</li>
<li class="clearfix" data-index="3">
<input id="pwd" class="input va pwd" name="pwd" placeholder="设置密码" autocomplete="off" maxlength="20" type="password">
<div class="pwd-intensity-container">
<span class="pwd-intensity low">低</span>
<span class="pwd-intensity mid">中</span>
<span class="pwd-intensity high">高</span>
</div>
<div id="pwd-tips" class="hide pwd-tips">
<div class="default" id="pwd-tip1"><i></i>密码只支持6-20位字符</div>
<div class="default" id="pwd-tip2"><i></i>建议由字母、 数字、 符号两种以上组合</div>
</div>
</li>
<li class="items-container clearfix">
<input id="agree-terms" class="agree-terms" type="checkbox" checked="">
<span>
我已阅读并同意遵守
<a class="link go-yoho-items" href="{{itemUrl}}">YOHO!有货服务条款</a>
</span>
</li>
<li class="clearfix">
<input name="refer" id="refer" type="hidden" value="{{referUrl}}">
<input id="register-btn" class="btn register-btn disable" type="submit" value="{{regBtnText}}" disabled="">
</li>
{{# loginUrl}}
<li class="quick-login-container">
我已注册YOHO!有货账号
<a class="link go-login" href="{{.}}">完善信息</a>
</li>
{{/loginUrl}}
<li class="items-container clearfix">
<input id="agree-terms" class="agree-terms" type="checkbox" checked="">
<span>
我已阅读并同意遵守
<a class="link go-yoho-items" href="{{itemUrl}}">YOHO!有货服务条款</a>
</span>
</li>
<li class="clearfix">
<input name="refer" id="refer" type="hidden" value="{{referUrl}}">
<input id="register-btn" class="btn register-btn disable" type="submit" value="{{regBtnText}}" disabled="">
</li>
{{# loginUrl}}
<li class="quick-login-container">
我已注册YOHO!有货账号
<a class="link go-login" href="{{.}}">快速登录</a>
</li>
{{/loginUrl}}
{{# skipUrl}}
<li class="skip-user-info">
<a href="{{.}}">跳过此步</a>
</li>
{{/skipUrl}}
{{# skipUrl}}
<li class="skip-user-info">
<a href="{{.}}">跳过此步</a>
</li>
{{/skipUrl}}
</ul>
<div id="err-tip" class="err-tip hide">
<span></span>
<b></b>
</div>
<!--</form>-->
</ul>
<div id="err-tip" class="err-tip hide">
<span></span>
<b></b>
</div>
</div>
\ No newline at end of file
... ...
... ... @@ -39,12 +39,12 @@
<div class="good-detail-text">
<a href="{{url}}">{{name}}</a>
<p class="price">
<span class="sale-price{{#unless marketPrice}}prime-cost{{/unless}}">
¥{{salePrice}}
</span>
{{# marketPrice}}
<span class="market-price">¥{{.}}</span>
{{/ marketPrice}}
<span class="sale-price{{#unless marketPrice}}prime-cost{{/unless}}">
¥{{salePrice}}
</span>
</p>
</div>
</div>
\ No newline at end of file
... ...
... ... @@ -9,7 +9,7 @@
<span>{{updateNum}}</span>
</li>
{{#each list}}
<li {{#if active}}active{{/if}}>
<li {{#if active}}class="active"{{/if}}>
<a href="{{href}}">{{name}}</a>
<span>{{num}}</span>
</li>
... ... @@ -80,4 +80,4 @@
{{/each}}
</ul>
{{/ picLink}}
{{/ leftContent}}
\ No newline at end of file
{{/ leftContent}}
... ...
... ... @@ -165,7 +165,7 @@ module.exports = function(data) {
load.tpl = '{{#each this}}';
load.tpl += '<div class="good-info" data-skn="{{skn}}">';
load.tpl += '<div class="good-info imgopacity" data-skn="{{skn}}">';
load.tpl += ' <div class="tag-container clearfix">';
load.tpl += ' {{# tags}}';
load.tpl += ' {{# isNew}}';
... ...
... ... @@ -16,6 +16,13 @@ require('../common/logo-brand');
require('../common/accordion');
$(document).on('mouseenter', '.imgopacity a img', function() {
$(this).css('opacity', 0.8);
});
$(document).on('mouseout', '.imgopacity a img', function() {
$(this).css('opacity', 1);
});
if (homePage === 'brands') {
require('./brands');
}
... ...
... ... @@ -29,7 +29,9 @@ var $pwdIntensity = $('.pwd-intensity'),
//signup验证
var $region = $('#country-code'),
$regionSelect = $('#region');
$regionSelect = $('#region'),
isPwd = false,
pwdVal;
setTimeout(function() {
$pn.val('');
... ... @@ -43,10 +45,13 @@ setTimeout(function() {
$ca.attr('maxlength', caCount);
//密码规则提示
$pwd.focus(function() {
$pwd.focus(function(event) {
$pwdTips.removeClass('hide');
isPwd = true;
pwdVal = $(this).val();
}).blur(function() {
$pwdTips.addClass('hide');
isPwd = false;
});
... ... @@ -509,6 +514,23 @@ exports.init = function(page) {
});
});
// 防止粘贴密码
/*$('#pwd, #repwd').keydown(function (event) {
console.log(event.ctrlKey);
console.log(isPwd);
console.log(event.keyCode);
if (event.ctrlKey && isPwd && event.keyCode === 86) {
$(this).val(pwdVal);
}
});*/
$pwd[0].onpaste = function() {
return false;
};
//ajax表单提交
$registerBtn.click(function() {
... ...
... ... @@ -221,6 +221,7 @@
background-color: rgb(255,87,92);
color: #fff;
border-radius: 30px;
z-index: 2;
}
.commodity-img{
position: relative;
... ...
... ... @@ -27,7 +27,7 @@
outline: none;
}
input {
input.input {
height: 43px;
line-height: 43px;
font-size: 16px;
... ... @@ -53,28 +53,26 @@
float: left;
}
&.send-captcha {
top: 0;
background: #ff1901;
position: absolute;
width: 100px;
right: 0;
font-size: 12px;
text-indent: 0;
letter-spacing: 0;
&.disable {
background: #555;
}
}
&.agree-terms {
width: initial;
height: initial;
vertical-align: middle;
}
}
input.send-captcha {
top: 0;
background: #ff1901;
position: absolute;
width: 100px;
right: 0;
font-size: 12px;
text-indent: 0;
letter-spacing: 0;
&.disable {
background: #555;
}
}
.link {
text-decoration: underline;
color: #ff1901;
... ...
... ... @@ -52,6 +52,11 @@
> .price {
margin-top: 10px;
}
.market-price {
text-decoration: line-through;
color: #999;
}
}
.col-btn {
... ...
... ... @@ -102,9 +102,6 @@ class SearchModel
if (!isset($condition['order']) || empty($condition['order'])) {
$condition['order'] = 's_n_desc';
}
if (!isset($condition['p_d']) || empty($condition['p_d'])) {
$condition['p_d'] = '0,0.9';
}
$options = array(
'imgSize' => $imgSize,
'minImgSize' => $minImgSize,
... ... @@ -168,8 +165,10 @@ class SearchModel
// 组合搜索分类url
$urlList['sort'] = HelperSearch::getClassesUrl($searchCondition['condition']);
// 组合搜索店铺url
$param['keyword'] = $searchCondition['condition']['query'];
$urlList['shop'] = HelperSearch::getShopUrl($param);
if (isset($param['keyword'])) {
$param['keyword'] = $searchCondition['condition']['query'];
$urlList['shop'] = HelperSearch::getShopUrl($param);
}
//用户浏览记录
//$urlList['reviewUrl'] = HelperSearch::getReviewUrl($searchCondition['condition']);
$result = Yohobuy::getMulti($urlList, array(), true);
... ...
... ... @@ -2,7 +2,7 @@
use Action\AbstractAction;
class RegisterController extends AbstractAction
class Register1Controller extends AbstractAction
{
/**
* 登录页
... ... @@ -49,7 +49,7 @@ class RegisterController extends AbstractAction
'coverImg' => 'http://img12.static.yhbimg.com/yhb-img01/2015/12/01/07/020a0b6e7ff908d0c2bc4045b4fef42b9f.png?imageView/2/w/252/h/190'
)
);
$this->_view->display('index', $data);
$this->_view->display('../register/index', $data);
}
public function checkmobileAction()
... ...
... ... @@ -17,7 +17,11 @@ class ListController extends WebAction
*/
public function saleAction()
{
$list = SearchModel::getListData();
//排序
$condition['order'] = 's_n_desc';
//打折
$condition['p_d'] = '0,0.9';
$list = SearchModel::getListData($condition);
$data = array(
//初始化js
'productListPage' => true,
... ...