Authored by Lynnic

Merge branch 'feature/cart' of git.dev.yoho.cn:web/yohobuy into feature/cart

Showing 30 changed files with 296 additions and 253 deletions
... ... @@ -10,9 +10,9 @@ class Helpers
/**
* 构建网站的URL
*
*
* 备注:所有的URL构建都尽量使用该方法,便于以后维护.
*
*
* @param string $uri 如 "/passport/reg/index"
* @param array $param 参数项 array(key1 => value1, key2 => value2,),默认为array()
* @param string $module 模块名 如"index"表示默认, "guang"表示逛,"list"表示商品列表,"search"表示搜索
... ... @@ -53,7 +53,7 @@ class Helpers
/**
* 根据尺寸获得图片url
*
*
* @param string $url 路径
* @param integer $width 图片宽度
* @param integer $height 图片高度
... ... @@ -67,7 +67,7 @@ class Helpers
/**
* 获取过滤APP里附加参数后的URL链接
*
*
* @param string $url 路径
* @return string 去除掉如&openby:yohobuy={"action":"go.brand"}这样的APP附加参数
*/
... ... @@ -84,7 +84,7 @@ class Helpers
/**
* 根据用户访问的COOKIE判断出性别
*
*
* @return string
*/
public static function getGenderByCookie()
... ... @@ -102,7 +102,7 @@ class Helpers
/**
* 根据用户访问的COOKIE判断出频道
*
*
* @return int
*/
public static function getChannelByCookie()
... ... @@ -124,7 +124,7 @@ class Helpers
/**
* 从用户加入购物车的COOKIE取出购物车凭证
*
*
* @return string
*/
public static function getShoppingKeyByCookie()
... ... @@ -135,7 +135,7 @@ class Helpers
/**
* 获取商品的ICON
*
*
* @param int $type
* @return array
*/
... ... @@ -195,7 +195,7 @@ class Helpers
/**
* 格式化商品信息
*
*
* @param array $productData 需要格式化的商品数据
* @param bool $showTags 控制是否显示标签
* @param bool $showNew 控制是否显示NEW图标
... ... @@ -273,7 +273,7 @@ class Helpers
/**
* 格式化资讯文章
*
*
* @param array $articleData 需要格式化的资讯数据
* @param bool $showTag 是否显示左上角标签
* @param mixed $isApp 是否显示分享,在APP客户端里嵌入需要传url链接
... ... @@ -348,7 +348,7 @@ class Helpers
/**
* 格式化广告焦点图数据
*
*
* @param array $bannerData 需要格式化的广告图数据
* @param int $width 图片的宽度
* @param int $height 图片的高度
... ... @@ -370,7 +370,7 @@ class Helpers
/**
* 生成公开的TOKEN凭证
*
*
* @param string $string 字符串
* @return string
*/
... ... @@ -381,7 +381,7 @@ class Helpers
/**
* 验证TOKEN凭证
*
*
* @param string $string 字符串
* @param string $token 公开访问TOKEN
* @return bool
... ... @@ -397,7 +397,7 @@ class Helpers
/**
* 验证手机是否合法
*
*
* @param int $mobile
* @return boolean
*/
... ... @@ -411,7 +411,7 @@ class Helpers
/**
* 验证密码是否合法
*
*
* @param int $password
* @return boolean
*/
... ... @@ -425,7 +425,7 @@ class Helpers
/**
* 验证邮箱是否合法
*
*
* @param string $email
* @return boolean
*/
... ... @@ -438,8 +438,8 @@ class Helpers
}
/**
* 验证国际手机号是否合法
*
* 验证国际手机号是否合法
*
* @param string $areaMobile
* @return boolean
*/
... ... @@ -518,7 +518,7 @@ class Helpers
/**
* 格式化订单商品
*
*
* @param array $orderGoods 订单
* @param int $count 计订单件数
* @param bool $haveLink 控制是否需要商品链接
... ... @@ -601,7 +601,7 @@ class Helpers
}
/**
* 格式化加价购商品
* 格式化加价购和赠品商品
*
* @param array $advanceGoods 加价购商品列表
* @param int $count 计商品件数
... ... @@ -615,12 +615,13 @@ class Helpers
$oneGoods = array();
foreach ($advanceGoods as $value) {
$gift = array();
$gift['promotionId'] = $value['promotion_id'];
$gift['promotionTitle'] = $value['promotion_title'];
foreach ($value['goods_list'] as $single) {
$oneGoods['id'] = $single['product_skn'];
$oneGoods['name'] = $single['product_name'];
$oneGoods['thumb'] = !empty($single['goods_images']) ? Images::getImageUrl($single['goods_images'], 120, 120) : '';
$oneGoods['thumb'] = !empty($single['goods_images']) ? Images::getImageUrl($single['goods_images'], 120, 160) : '';
$oneGoods['appearDate'] = '12月'; // 目前app接口没有返回该数据
$oneGoods['price'] = $single['last_price'];
$oneGoods['marketPrice'] = $single['market_price'];
... ... @@ -686,7 +687,7 @@ class Helpers
/**
* 获取会员的级别
*
*
* @param string $vipInfo
* @return int
*/
... ... @@ -714,9 +715,9 @@ class Helpers
/**
* 同步用户的会话
*
*
* 转向老的PHP服务器上处理, 因购物车相关的操作会依赖SESSION
*
*
* @param int $uid 用户ID
* @param string $refer 访问来源
* @param string $callback 回调方法名
... ... @@ -730,9 +731,9 @@ class Helpers
/**
* 退出清除用户的会话
*
*
* 转向老的PHP服务器上处理, 因购物车相关的操作会依赖SESSION
*
*
* @param int $uid 用户ID
* @param string $refer 访问来源
* @param string $callback 回调方法名
... ...
... ... @@ -8,13 +8,13 @@ var $ = require('jquery'),
lazyLoad = require('yoho.lazyload'),
Hammer = require('yoho.hammer');
var chosePanel = require('./chose-panel'),
cartInfo = require('./cart-info').cartInfo;
var chosePanel = require('./chose-panel');
var $cartContent = $('.cart-content');
var navHammer,
cartType = 'ordinary';
cartType = 'ordinary',
cartInfo;
require('./good');
... ... @@ -28,6 +28,12 @@ navHammer.on('tap', function(e) {
return;
}
if (cartType === 'ordinary') {
cartType = 'advance';
} else {
cartType = 'ordinary';
}
$this.siblings('.active').removeClass('active');
$this.addClass('active');
... ... @@ -41,7 +47,7 @@ navHammer.on('tap', function(e) {
$('.btn-balance').on('touchend', function() {
window.location.href = '/shoppingCart/orderEnsure?cartType=' + cartType;
window.location.href = '/cart/index/orderEnsure?cartType=' + cartType;
});
//$('.advance-buy').on('touchend', function() {
... ... @@ -66,4 +72,4 @@ $('.chose').on('touchend', function() {
cartInfo = 0;
\ No newline at end of file
cartInfo = 0;
... ...
/**
* 赠品/加价购
* @author: xuqi<qi.xu@yoho.cn>
* @date: 2015/10/23
*/
var $ = require('jquery'),
lazyLoad = require('yoho.lazyload'),
Handlebars = require('yoho.handlebars'),
tip = require('../plugin/tip'),
chosePanel = require('./chose-panel');
var panelTmpl,
$page = $('.gift-advance-page'),
$chosePanel = $('#chose-panel');
lazyLoad($('.lazy'));
$.get('/cart/index/giftinfoTpl', function(html) {
if (!html) {
tip.show('网络错误');
return;
}
panelTmpl = Handlebars.compile(html);
}).fail(function() {
tip.show('网络错误');
});
function getProductInfo(skn, promotionId) {
$.get('/cart/index/giftinfo', {
skn: skn,
promotionId: promotionId
}).then(function(res) {
if (!res) {
tip.show('网络错误');
return;
}
console.log(res);
if (res.code === 200) {
$chosePanel.html(panelTmpl(res.data));
chosePanel.show();
} else {
tip.show(res.message || '网络错误');
}
}).fail(function() {
tip.show('网络错误');
});
}
$page.on('touchend', '.chose', function() {
var $this = $(this),
id = $this.closest('.gift-advance-good').data('id'),
promotionId = $this.closest('.advance-block').data('promotion-id');
getProductInfo(id, promotionId);
});
... ...
... ... @@ -44,7 +44,7 @@ $('.cart-goods').on('touchstart', '.checkbox', function() {
$.ajax({
type: 'GET',
url: '/shoppingCart/select',
url: '/cart/index/select',
data: {
id: id
}
... ... @@ -58,7 +58,7 @@ $('.cart-goods').on('touchstart', '.checkbox', function() {
}
$.ajax({
type: 'GET',
url: '/shoppingCart/getCartData',
url: '/cart/index/getCartData',
data: {
id: id
},
... ... @@ -120,7 +120,7 @@ $('.cart-goods').on('touchstart', '.checkbox', function() {
$.ajax({
method: 'post',
url: '/shoppingCart/del',
url: '/cart/index/del',
data: {
id: id
}
... ... @@ -167,11 +167,6 @@ $('.cart-goods').on('touchstart', '.checkbox', function() {
// });
//})
$('.btn-balance').on('touchend', function() {
window.location.href = '/shoppingCart/orderEnsure?cartType=' + 'ordinary';
});
$('.down').on('touchend', function() {
chosePanel.show();
});
... ... @@ -180,7 +175,7 @@ $('.cut').on('touchend', function() {
$.ajax({
type: 'GET',
url: '/shoppingCart/modify',
url: '/cart/index/modify',
data: {
old_product_sku: id,
new_product_sku: id,
... ...
... ... @@ -17,7 +17,8 @@ var dispatchModeHammer,
$invoice = $('.invoice'),
$price = $('.price-cal'),
payType,
priceTmpl = Handlebars.compile($('#tmpl-price').html());
priceTmpl = Handlebars.compile($('#tmpl-price').html()),
queryString = $.queryString();
lazyLoad();
... ... @@ -101,7 +102,7 @@ function submitOrder() {
url: '/cart/index/orderSub',
data: {
addressId: orderInfo('addressId'),
cartType: orderInfo('cartType'),
cartType: queryString.cartType || queryString.carttype || 'ordinary',
deliveryId: orderInfo('deliveryId'),
deliveryTimeId: orderInfo('deliveryTimeId'),
invoiceText: $invoice.find('[name="invoice-title"]').val() || orderInfo('invoiceText'),
... ... @@ -132,7 +133,7 @@ function submitOrder() {
window.location.href = url;
} else {
loading.hideLoadingMask();
tip.show(res.messege || '网络出错');
tip.show(res.message || '网络出错');
}
}).fail(function() {
loading.hideLoadingMask();
... ...
... ... @@ -8,7 +8,7 @@
var $ = require('jquery'),
Hammer = require('yoho.hammer'),
tip = require('../../plugin/tip'),
chosePanel = require('../../shopping-cart/chose-panel');
chosePanel = require('../../cart/chose-panel');
var likeEle = document.getElementById('likeBtn'),
likeHammer = likeEle && new Hammer(likeEle);
... ... @@ -83,6 +83,3 @@ if (addToCartHammer) {
});
}
... ...
/**
* 赠品/加价购
* @author: xuqi<qi.xu@yoho.cn>
* @date: 2015/10/23
*/
var $ = require('jquery'),
lazyLoad = require('yoho.lazyload');
//var chosePanel = require('./chose-panel');
lazyLoad($('.lazy'));
//$('.gift-advance-page').on('touchstart', '.chose', function() {
// var id = $(this).closest('.gift-advance-good').data('id');
//
// $.ajax({
// type: 'GET',
// url: '/shoppingCart/goodinfo',
// data: {
// id: id
// },
// success: function(data) {
// if (data.code === 200) {
// chosePanel.show(data.data);
// }
// }
// });
//});
\ No newline at end of file
... ... @@ -44,6 +44,10 @@
&:before {
content: '赠品';
display: block;
font-size: 12px;
line-height: 25rem / $pxConvertRem;
transform: scale(0.833);
}
}
... ... @@ -52,6 +56,7 @@
}
.name {
width: 440rem / $pxConvertRem;
font-size: 28rem / $pxConvertRem;
}
... ... @@ -74,8 +79,14 @@
}
.price {
margin-left: 10rem / $pxConvertRem;
font-size: 24rem / $pxConvertRem;
color: #000;
color: #f1545b;
&.market-price {
color: #999;
text-decoration: line-through;
}
}
.count {
... ... @@ -96,9 +107,9 @@
}
.title {
height: 50rem / $pxConvertRem;
line-height: 50rem / $pxConvertRem;
padding-left: 20rem / $pxConvertRem;
height: 60rem / $pxConvertRem;
line-height: 60rem / $pxConvertRem;
padding: 0 20rem / $pxConvertRem;
font-size: 24rem / $pxConvertRem;
background: #f8f8f8;
}
... ... @@ -109,4 +120,4 @@
content: '加价购';
}
}
}
\ No newline at end of file
}
... ...
... ... @@ -7,6 +7,7 @@
position: absolute;
top: 50%;
margin-top: -14rem / $pxConvertRem;
margin-left: 20rem / $pxConvertRem;
font-size: 28rem / $pxConvertRem;
color: #f0f0f0;
... ... @@ -15,9 +16,40 @@
}
}
.few-tag{
width: 132rem / $pxConvertRem;
position: absolute;
left: 100rem / $pxConvertRem;
text-align: center;
top: 75%;
color: #fff;
}
.gift-tag {
background-color: #88BE51;
}
.plus-tag {
background-color: #FC1264;
}
.few-tag-expire {
position: absolute;
top: 40%;
left: 20rem / $pxConvertRem;
background-color: #7f7f7f;
display: inline-block;
color: #fff;
border-radius: 12rem / $pxConvertRem;
padding: 4rem / $pxConvertRem;
font-size: 20rem / $pxConvertRem;
width: 48rem / $pxConvertRem;
text-align: center;
}
.info {
float: left;
margin-left: 30rem / $pxConvertRem;
margin-left: 60rem / $pxConvertRem;
padding: 16rem / $pxConvertRem 0;
padding-right: 20rem / $pxConvertRem;
}
... ... @@ -32,13 +64,18 @@
.deps {
margin-left: 173rem / $pxConvertRem;
padding-bottom: 60rem / $pxConvertRem;
padding-bottom: 72rem / $pxConvertRem;
border-bottom: 1px solid #e0e0e0;
width: 380rem / $pxConvertRem;
position: relative;
min-height: 140rem / $pxConvertRem;
}
.name {
font-size: 28rem / $pxConvertRem;
color: #5a5a5a;
width: 80%;
display: inline-block;
}
.row:nth-child(2) {
... ... @@ -71,9 +108,13 @@
}
.count {
font-size: 20rem / $pxConvertRem;
font-size: 32rem / $pxConvertRem;
color: #999;
margin-left: 22rem / $pxConvertRem;
//margin-left: 22rem / $pxConvertRem;
display: inline-block;
width: 19%;
position: absolute;
text-align: center;
}
.sold-out, .low-stocks {
... ... @@ -181,15 +222,15 @@
font-size: 40rem / $pxConvertRem;
line-height: 60rem / $pxConvertRem;
text-align: center;
}
&:last-child {
span{
width: 168rem / $pxConvertRem;
overflow: hidden;
font-size: 48em / $pxConvertRem;
text-overflow:ellipsis;
white-space:nowrap;
text-overflow:ellipsis;
white-space:nowrap;
}
}
}
... ... @@ -205,7 +246,6 @@
top: 20rem / $pxConvertRem;;
font-size: 52em / $pxConvertRem;
}
}
}
... ...
... ... @@ -158,5 +158,5 @@ a {
@import "category/index";
@import "product/index";
@import "index/index";
@import "shopping-cart/index";
@import "cart/index";
@import "me/index"; //个人中心
... ...
{{> layout/header}}
<div class="gift-advance-page yoho-page">
{{# shoppingCart}}
{{#if gift}}
{{# gift}}
{{> shopping-cart/gift-advance-good}}
{{/ gift}}
{{^}}
{{# advance}}
<div class="advance-block">
<p class="title">{{title}}</p>
{{# goods}}
{{> shopping-cart/gift-advance-good}}
{{/ goods}}
</div>
{{/ advance}}
{{/if}}
{{/ shoppingCart}}
{{#if advanceBuyPage}}
{{# advanceBuy}}
<div class="advance-block" data-promotion-id="{{promotionId}}">
<p class="title">{{title}}</p>
{{#goods}}
{{> cart/gift-advance-good}}
{{/goods}}
</div>
{{/ advanceBuy}}
{{else}}
{{# freebie}}
{{> cart/gift-advance-good}}
{{/ freebie}}
{{/if}}
<div id="chose-panel"></div>
</div>
{{> layout/footer}}
\ No newline at end of file
{{> layout/footer}}
... ...
... ... @@ -27,7 +27,7 @@
{{# commonCart}}
<div class="cart-content common">
{{> shopping-cart/cart-content}}
{{> cart/cart-content}}
</div>
{{/ commonCart}}
... ... @@ -38,7 +38,7 @@
<span class="txt">预售商品全场包邮,到货后立即发货</span>
<span class="txt">预售商品不参加活动,不可使用优惠券</span>
</p>
{{> shopping-cart/cart-content}}
{{> cart/cart-content}}
</div>
{{/ preSellCart}}
{{/ shoppingCart}}
... ... @@ -52,5 +52,5 @@
</div>
{{> product/recommend-for-you}}
</div>
{{> shopping-cart/chose-panel}}
{{> cart/chose-panel}}
{{> layout/footer}}
... ...
<div class="cart-goods">
{{# goods}}
{{> shopping-cart/good}}
{{> cart/good}}
{{/ goods}}
{{# $notValidGoods}}
{{> shopping-cart/good}}
{{> cart/good}}
{{/ $notValidGoods}}
</div>
... ...
... ... @@ -6,24 +6,11 @@
<div class="deps">
<p class="name row">{{name}}</p>
<p class="row">
{{#if color}}
<span class="color">
颜色:{{color}}
</span>
{{/if}}
{{#if size}}
<span class="size">
尺码:{{size}}
</span>
{{/if}}
</p>
<p class="row">
<span class="price">
¥{{price}}
</span>
<span class="price">
¥{{salePrice}}
<span class="price market-price">
¥{{marketPrice}}
</span>
<span class="count">
×{{count}}
... ... @@ -33,4 +20,4 @@
</div>
</div>
\ No newline at end of file
</div>
... ...
<div class="shopping-cart-good clearfix" data-id={{id}}>
<span class="checkbox icon-cb-checked iconfont"></span>
<!-- {{#if isSoldOut}}
<p class="">失效</p>
{{^}}
{{#if isGift}}
{{^}}
<span class="checkbox icon-cb-checked iconfont"></span>
{{/if}}
{{#if isSoldOut}}
<span class="few-tag-expire">失效</span>
{{^}}
<span class="checkbox icon-cb-checked iconfont"></span>
{{/if}}
{{/if}}-->
<div class="info">
<img class="thumb lazy" data-original={{thumb}}>
<!--
<a class="" href="{{url}}">
<img class="thumb lazy" data-original="{{thumb}}">
</a>
{{#if isAdvanceBuy}}
<p class="few-tag">加价购</p>
<p class="few-tag plus-tag">加价购</p>
{{^}}
{{#if isGift}}
<p class="few-tag">赠品</p>
<p class="few-tag gift-tag">赠品</p>
{{/if}}
{{/if}}
{{#if isSoldOut}}
<p class="few-tag">失效</p>
{{/if}}
-->
</a>
<div class="deps show">
<p class="name row">{{name}}</p>
<span class="count">
×{{count}}
</span>
<p class="row">
{{#if color}}
<span class="color">
... ... @@ -48,9 +39,7 @@
<span class="price">
¥{{price}}
</span>
<span class="count">
×{{count}}
</span>
{{#if soldOut}}
<span class="sold-out">
已售罄
... ...
... ... @@ -221,29 +221,34 @@
{{!-- 购物车 --}}
{{#if shoppingCartPage}}
<script>
seajs.use('js/shopping-cart/cart');
seajs.use('js/cart/cart');
seajs.use('js/product/recommend-for-you');
</script>
{{/if}}
{{#if giftAdvancePage}}
{{#if giftPage}}
<script>
seajs.use('js/shopping-cart/gift-advance');
seajs.use('js/cart/gift-advance');
</script>
{{/if}}
{{#if advanceBuyPage}}
<script>
seajs.use('js/cart/gift-advance');
</script>
{{/if}}
{{#if orderEnsurePage}}
<script>
seajs.use('js/shopping-cart/order-ensure');
seajs.use('js/cart/order-ensure');
</script>
{{/if}}
{{#if selectAddressPage}}
<script>
seajs.use('js/me/address');
seajs.use('js/shopping-cart/select-address');
seajs.use('js/cart/select-address');
</script>
{{/if}}
{{#if selectCouponPage}}
<script>
seajs.use('js/shopping-cart/select-coupon');
seajs.use('js/cart/select-coupon');
</script>
{{/if}}
{{!-- 个人中心 --}}
... ...
... ... @@ -189,50 +189,7 @@ class CartModel
$product = CartData::cartProductData($uid, $skn);
if (isset($product['code']) && $product['code'] === 200) {
$result['code'] = 200;
$data = array();
$productData = $product['data'];
// 品牌信息
if (isset($productData['brand_info']) && !empty($productData['brand_info'])) {
$data['thumb'] = Helpers::getImageUrl($productData['brand_info']['brand_ico'], 120, 120);
}
$data['name'] = $productData['product_name'];
$data['price'] = $productData['market_price'];
$data['salePrice'] = $productData['sales_price'];
$data['storage'] = $productData['storage_sum'];
$data['num'] = $num;
// 商品选择
if (isset($productData['goods_list'])) {
$goodsList = $productData['goods_list'];
$colors = array();
$oneColor = array();
$sizes = array();
$oneSize = array();
foreach ($goodsList as $val) {
// 颜色
$oneColor = array();
$oneColor['id'] = $val['color_id'];
$oneColor['name'] = $val['color_name'];
// 尺码
foreach ($val['size_list'] as $one) {
$oneSize = array();
$oneSize['id'] = $one['size_id'];
$oneSize['name'] = $one['size_name'];
}
$sizes[] = $oneSize;
$oneColor['sizes'] = $sizes;
$colors[] = $oneColor;
}
$data['colors'] = $colors;
}
$result['data'] = $data;
$result['data'] = self::procGoodsDetail($product['data'], $num);
}
return $result;
... ... @@ -252,49 +209,7 @@ class CartModel
$product = CartData::giftProductData($skn, $promotionId);
if (isset($product['code']) && $product['code'] === 200) {
$result['code'] = 200;
$data = array();
$productData = $product['data'];
// 品牌信息
if (isset($productData['brand_info']) && !empty($productData['brand_info'])) {
$data['thumb'] = Helpers::getImageUrl($productData['brand_info']['brand_ico'], 120, 120);
}
$data['name'] = $productData['product_name'];
$data['price'] = $productData['market_price'];
$data['salePrice'] = $productData['sales_price'];
$data['storage'] = $productData['storage_sum'];
// 商品选择
if (isset($productData['goods_list'])) {
$goodsList = $productData['goods_list'];
$colors = array();
$oneColor = array();
$sizes = array();
$oneSize = array();
foreach ($goodsList as $val) {
// 颜色
$oneColor = array();
$oneColor['id'] = $val['color_id'];
$oneColor['name'] = $val['color_name'];
// 尺码
foreach ($val['size_list'] as $one) {
$oneSize = array();
$oneSize['id'] = $one['size_id'];
$oneSize['name'] = $one['size_name'];
}
$sizes[] = $oneSize;
$oneColor['sizes'] = $sizes;
$colors[] = $oneColor;
}
$data['colors'] = $colors;
}
$result['data'] = $data;
$result['data'] = self::procGoodsDetail($product['data']);
}
return $result;
... ... @@ -657,6 +572,65 @@ class CartModel
/**
* 处理购物车商品、加价购商品、赠品详情数据
*
* @param array $productData 要处理的商品数据
* @param int $num 购买数目
* @return array $data 处理之后的数据
*/
private static function procGoodsDetail($productData, $num = null)
{
$data = array();
// 品牌信息
if (isset($productData['brand_info']) && !empty($productData['brand_info'])) {
$data['thumb'] = Helpers::getImageUrl($productData['brand_info']['brand_ico'], 120, 120);
}
$data['name'] = $productData['product_name'];
$data['price'] = $productData['market_price'];
$data['salePrice'] = $productData['sales_price'];
if (isset($productData['storage_sum'])) {
$data['storage'] = $productData['storage_sum'];
}
if ($num !== null) {
$data['num'] = $num;
}
// 商品选择
if (isset($productData['goods_list'])) {
$goodsList = $productData['goods_list'];
$colors = array();
$oneColor = array();
$sizes = array();
$oneSize = array();
foreach ($goodsList as $val) {
// 颜色
$oneColor = array();
$oneColor['id'] = $val['color_id'];
$oneColor['name'] = $val['color_name'];
// 尺码
foreach ($val['size_list'] as $one) {
$oneSize = array();
$oneSize['id'] = $one['size_id'];
$oneSize['name'] = $one['size_name'];
}
$sizes[] = $oneSize;
$oneColor['sizes'] = $sizes;
$colors[] = $oneColor;
}
$data['colors'] = $colors;
}
return $data;
}
/**
* 处理不同类型的购物车数据
*
* @param array $data 不同类型购物车数据
... ... @@ -674,12 +648,12 @@ class CartModel
break;
}
if ($onlyAdvanceBuy) {
if ($onlyGift) {
// 赠品
$result['freebie'] = Helpers::formatAdvanceGoods($data['gift_list']);
break;
}
if ($onlyGift) {
if ($onlyAdvanceBuy) {
// 加价购
$result['advanceBuy'] = Helpers::formatAdvanceGoods($data['price_gift']);
break;
... ...
... ... @@ -143,11 +143,11 @@ class IndexController extends AbstractAction
$shoppingKey = Helpers::getShoppingKeyByCookie();
$uid = $this->getUid(true);
$cartType = $this->get('cartType', 'ordinary');
$data = array('shoppingCartPage' => true);
$data = array('giftPage' => true);
$data += CartModel::getCartData($uid, $shoppingKey, $cartType, true);
// 渲染模板
$this->_view->display('gift-advance-good', $data);
$this->_view->display('gift-advance', $data);
}
/*
... ... @@ -161,11 +161,11 @@ class IndexController extends AbstractAction
$shoppingKey = Helpers::getShoppingKeyByCookie();
$uid = $this->getUid(true);
$cartType = $this->get('cartType', 'ordinary');
$data = array('shoppingCartPage' => true);
$data = array('advanceBuyPage' => true);
$data += CartModel::getCartData($uid, $shoppingKey, $cartType, false, true);
// 渲染模板
$this->_view->display('gift-advance-good', $data);
$this->_view->display('gift-advance', $data);
}
/*
... ... @@ -191,6 +191,16 @@ class IndexController extends AbstractAction
}
/*
* 获取购物车加价购商品数据模板
*/
public function giftinfoTplAction()
{
if ($this->isAjax()) {
echo file_get_contents($this->_view->getScriptPath() . '/../partials/cart/chose-panel.phtml');
}
}
/*
* 获取购物车加价购商品数据
*/
public function giftinfoAction()
... ... @@ -425,10 +435,10 @@ class IndexController extends AbstractAction
$this->echoJson($result);
}
}
/**
* 加入购物车
*
*
* @param string productSku 商品的SKU
* @param int buyNumber 购买数量
* @param int promotionId 促销ID, 加价购有关
... ... @@ -460,5 +470,5 @@ class IndexController extends AbstractAction
$this->echoJson($result);
}
}
... ...