:-: 商品詳情
文件路徑:shop/controllers/Goods/GoodsCtl.php;
##### 后臺數據:
商品信息(商品活動信息,評論數,銷售數,咨詢數):
$goods_detail = $Goods_BaseModel->getGoodsDetailInfoByGoodId($goods_id);
計算商品的銷售數量:
1.直接顯示本件商品的銷售數量,2.顯示本類common商品的銷售數量
$common_goods = $Goods_BaseModel->getByWhere(array('common_id' => $goods_detail['goods_base']['common_id']));
$count_sale = 0;
foreach ($common_goods as $comkey => $comval)
{
$count_sale += $comval['goods_salenum'];
}
$goods_detail['goods_base']['count_sale'] = $count_sale;
獲取商品所在地:
$goods_location_row = $Base_DistrictModel->getByWhere(array('district_id:IN' => $goods_detail['common_base']['common_location']));
店鋪信息:
$shop_detail = $Shop_BaseModel->getShopDetail($goods_detail['goods_base']['shop_id']);
查找店鋪下的實體店鋪
$entity_shop = $Shop_EntityModel->getByWhere(array("shop_id" => $goods_detail['goods_base']['shop_id']));
推薦商品
$data_foot_recommon = $Goods_CommonModel->listByWhere(array(
'shop_id' => $shop_id
), array('common_is_recommend' => 'DESC'), 0, 5);
$data_foot_recommon_goods = $Goods_CommonModel->getRecommonRow($data_foot_recommon);
熱門銷售
$data_hot_salle = $Goods_CommonModel->getHotSalle($shop_id, $is_wap);
$data_salle = $Goods_CommonModel->getRecommonRow($data_hot_salle);
熱門收藏
$data_hot_collect = $Goods_CommonModel->getHotCollect($shop_id);
$data_collect = $Goods_CommonModel->getRecommonRow($data_hot_collect);
商品咨詢數量
$Consult_BaseModel = new Consult_BaseModel();
$data_consult = $Consult_BaseModel->getByWhere(array(
'goods_id' => $goods_id,
'shop_id' => $shop_id
));
$consult_num = count($data_consult);
首頁名
$title = Web_ConfigModel::value("product_title");
關鍵字
$this->keyword = Web_ConfigModel::value("product_keyword");
描述
$this->description = Web_ConfigModel::value("product_description");
QQ:
$service[$key]["tool"] = "<a target='_blank' href='http://wpa.qq.com/msgrd?v=3&uin=".$val['number']."&site=qq&menu=yes'><img border='0' src='http://wpa.qq.com/pa?p=2:".$val['number'].":41 &r=0.22914223582483828' alt='點擊這里'></a>";
旺旺:
$service[$key]["tool"] = "<a target='_blank' href='http://www.taobao.com/webww/ww.php?ver=3&touid=".$val['number']."&siteid=cntaobao&status=1&charset=utf-8' ><img border='0' src='http://amos.alicdn.com/online.aw?v=2&uid=".$val['number']."&site=cntaobao&s=1&charset=utf-8' alt='點擊這里' /></a>";
IM:
$service[$key]["tool"] = '<a href="javascript:;" class="chat-enter" onclick="return chat(\''.$val['number'].'\');"><img src="'.$this->view->img.'/icon-im.gif" alt=""></a>';
物流和運費信息:
$cookie_area = $this->getCookieArea();
if($cookie_area['city']['id']){
$transportInfo = $this->getTramsportData($cookie_area['city']['id'], $goods_detail['goods_base']['common_id']);
$transportInfo['area'] = $cookie_area['area'];
$transportInfo['area_id'] = $cookie_area['city']['id'];
}else{
$transportInfo = array();
}
$goods_detail['transport'] = $transportInfo;
wap端:
//商品規格描述
$show_goods_spec_value = array_values($goods_detail['goods_base']['goods_spec']);
//商品詳情
$goods_info = array_merge($goods_detail['common_base'], $goods_detail['goods_base']);
//好評率
$all_count = $Goods_EvaluationModel->countEvaluation($common_id, 'all');
$good_count = $Goods_EvaluationModel->countEvaluation($goods_detail['common_base']['common_id'], 'good');
//配送信息
$goods_hair_info['content'] = $goods_detail['shop_base']['shipping'];
$goods_hair_info['store'] = $goods_detail['goods_base']['goods_stock'];
//定位
$user_lbs_geo = $subSiteModel->getLbsGeo($lbs_geo,$level);
//獲取默認配送區域運費
$transportInfo = $Goods_BaseModel->getTransportInfo($user_lbs_geo['district_id'], $goods_detail['common_base']['common_id']);
//圖片信息
if ( isset($goods_detail['goods_base']['image_row']) && !empty($goods_detail['goods_base']['image_row']) )
{
$images_list = array_column($goods_detail['goods_base']['image_row'], 'images_image');
$images_list = array_map(function ($img) {
return image_thumb($img, 360, 360);
}, $images_list);
$goods_image = implode(',', $images_list);
}
else
{
$goods_image = $goods_detail['goods_base']['goods_image'];
}
//滿送
$mansong_info = $goods_detail['mansong_info'];
//商品規格
$spec_list = $Goods_BaseModel->createSGIdByWap($goods_detail['common_base']['common_id']);
//商品規格顏色圖
if ( !empty($goods_detail['common_base']['common_spec_value_color']) )
{
$spec_image = $goods_detail['common_base']['common_spec_value_color'];
}
$data['goods_id'] = $goods_id;
$data['goods_info'] = $goods_info; //商品詳情
$data['goods_commend_list'] = $data_salle; //推薦商品(銷量)
$data['goods_eval_list'] = $goods_eval_list; //商品評論
$data['goods_evaluate_info'] = $goods_evaluate_info; //商品評論
$data['goods_hair_info'] = $goods_hair_info; //售賣區域
$data['goods_image'] = $goods_image; //商品圖片
$data['mansong_info'] = $mansong_info; //商品滿送
$data['spec_list'] = $spec_list; //商品規格
$data['stock_list'] = $stock_list; //規格庫存
$data['spec_image'] = $spec_image; //商品顏色
$data['store_info'] = $store_info; //店鋪信息
$data['buyer_limit'] = $goods_detail['buy_limit']; //限購數量
$data['is_favorate'] = $isFavoritesGoods; //是否收藏過商品
$data['shop_owner'] = $shop_owner; //是否為店主
$data['isBuyHave'] = $IsHaveBuy; //是否已達限購數量
$data['good_pre'] = $good_pre; //好評率
if(Web_ConfigModel::value('Plugin_Directseller'))
{
$data['rec_images'] = $goods_detail['recImages'];//推薦者上傳圖片
}
//獲取商品的促銷信息
$promotion_info = $this->getPromotionInfo($goods_id);
$data['promotion_info'] = $promotion_info;
##### 前臺顯示:
面包屑導航:
<?php if($parent_cat){?>
<?php foreach($parent_cat as $catkey => $catval):?>
<a href="<?= Yf_Registry::get('url') ?>?ctl=Goods_Goods&met=goodslist&cat_id=<?=($catval['cat_id'])?>"><?=($catval['cat_name'])?></a><?php if(!isset($catval['ext'])){ ?><i class="iconfont icon-iconjiantouyou"></i><?php }?>
<?php endforeach;?>
<?php }?>
二維碼:
function lazyload(){
$("img.lazy").lazyload({
effect: "fadeIn"
});
$('img.lazy').on('load',function(){
$(window).trigger('scroll')
});
}
商品數量加減:
g.bind("click",function(l){
if(!$(this).hasClass("no_reduce")){
var j=parseInt(h.val(),10)||1;
if($(this).hasClass("add")&&!$(this).hasClass("no_add")){
$(this).prev().prev().attr("class","reduce");
if(f>=i&&j>=f){
$(this).attr("class","no_add")
}
else
{
j++;
}
}else{
if($(this).hasClass("reduce")&&!$(this).hasClass("no_reduce")){
j--;
$(this).next().next().attr("class","add");
j<=i&&$(this).attr("class","no_reduce")
}
}
h.val(j).trigger("propertychange")
}
})
加入購物車:
$.ajax({
url: SITE_URL + '?ctl=Buyer_Cart&met=addCart&typ=json',
data: {goods_id:goods_id, goods_num: goods_num},
dataType: "json",
contentType: "application/json;charset=utf-8",
async: false,
success: function (a)
{
if (a.status == 250)
{
Public.tips.error(a.msg);
}
else
{
//加入購物車成功后,修改購物車數量
$.ajax({
type: "GET",
url: SITE_URL + "?ctl=Buyer_Cart&met=getCartGoodsNum&typ=json",
data: {},
dataType: "json",
success: function(data){
getCartList();
$('#cart_num').html(data.data.cart_count);
$('.cart_num_toolbar').html(data.data.cart_count);
}
});
$.dialog({
title: "<?=__('加入購物車')?>",
height: 100,
width: 250,
lock: true,
drag: false,
content: 'url: '+SITE_URL + '?ctl=Buyer_Cart&met=add&typ=e'
});
}
},
failure: function (a)
{
Public.tips.error('<?=__('操作失敗!')?>');
}
});
//判斷商品是否滿足限購條件,如果限時折扣設置最低購買數量大于商品本身限購數,按照限時折扣最低數量計算
if($goods_xianshi && $goods_num < $goods_xianshi['goods_lower_limit'] && strtotime($goods_xianshi['goods_start_time']) <= time() && strtotime($goods_xianshi['goods_end_time']) >= time())
{
return $this->data->setError("添加失敗,低于最低購買數量");
}
//如果該商品限購,查出用戶之前購買過的商品數量,當前添加購物車數量與之前購買數量相加不能超過限購數
if($goods_num_sum + $goods_num> $goods_limit_num)
{
return $this->data->setError("添加失敗,超出限購數量");
}
//如果是供貨商的商品
//分銷商申請是否通過
if(!$shopDistributorBase['distributor_enable'])
{
return $this->data->setError("分銷申請未通過!");
}
if(!array_intersect($common_shopcat_id, $allow_shop_cat) )
{
return $this->data->setError("該分類未授權");
}
//判斷購物車中是否存在該商品
if(is_array($cart_row) && $cart_row){
$cart_row = array_shift($cart_row);
//如果購物車中存在該商品
//購物車內的商品與立即購買的商品數不累加所以如果購物車存在此商品就將購物車商品數量修改為現在購買的數量
$flag = $this->cartModel->editCart($cart_row['cart_id'], $edit_cond_rows, false);
//如果不存在
$flag = $this->cartModel->addCart($add_row, true);
立即購買虛擬商品:
$.ajax({
type : 'POST',
url : SITE_URL + "?ctl=Goods_Goods&met=checkVirtual&typ=json",
data : {goods_id:goods_id,goods_num:$('#nums').val()},
dataType : 'JSON',
success : function(a)
{
if(a.status == 250)
{
Public.tips.warning('<?=__('您已達購買上限!')?>');
return false;
}else{
window.location.href = SITE_URL + '?ctl=Buyer_Cart&met=buyVirtual&goods_id=' + goods_id +'&goods_num='+$("#nums").val();
}
}
});
//檢測當前商品是否參加團購活動
$info = $Groupbuy_BaseModel->getByWhere($con_row);
if($info){
$limit = 0;
foreach($info as $k=>$v){
$limit = $v['groupbuy_upper_limit'];
}
$goods_max_sale = $limit;
}else{
$goods_max_sale = $goods_detail['goods_max_sale'];
}
立即購買實物商品:
$.ajax({
url: SITE_URL + '?ctl=Buyer_Cart&met=addCart&typ=json',
data: {goods_id:goods_id, goods_num:$("#nums").val()},
dataType: "json",
contentType: "application/json;charset=utf-8",
async: false,
success: function (a)
{
if (a.status == 250)
{
Public.tips.error(a.msg);
}
else
{
if(a.data.cart_id)
{
window.location.href = SITE_URL + '?ctl=Buyer_Cart&met=confirm&product_id=' + a.data.cart_id;
}
}
},
failure: function (a)
{
Public.tips.error('<?=__('操作失敗!')?>');
}
});
收藏商品:
$.post(SITE_URL + '?ctl=Goods_Goods&met=collectGoods&typ=json',{goods_id:e},function(data)
{
if(data.status == 200)
{
Public.tips.success(data.data.msg);
$(".icon-icoheart").addClass("icon-taoxinshi").removeClass('icon-icoheart');
//toolbar顯示收藏效果
$("#collect_lable").removeClass('icon-icoheart');
$("#collect_lable").addClass('icon-taoxinshi').addClass('bbc_color');
}
else
{
Public.tips.error(data.data.msg);
}
});
//插入用戶收藏商品表
//如果用戶未收藏過
//商品詳情中收藏數量增加
$edit_row['goods_collect'] = '1';
$flag = $Goods_BaseModel->editBase($goods_id, $edit_row, true);
//商品common中
$edit_common_row['common_collect'] = '1';
$Goods_CommonModel = $Goods_CommonModel->editCommonTrue($goods_base['common_id'],$edit_common_row);
收藏店鋪:
$.post(SITE_URL + '?ctl=Shop&met=addCollectShop&typ=json',{shop_id:e},function(data)
{
if(data.status == 200)
{
Public.tips.success(data.data.msg);
}
else
{
Public.tips.error(data.data.msg);
}
});
//插入用戶收藏店鋪表
//如果用戶未收藏過
$User_FavoritesShopModel->addShop($add_row);
//店鋪詳情中收藏數量增加
$edit_row['shop_collect'] = '1';
$flag = $Shop_BaseModel->editBaseCollectNum($shop_id, $edit_row, true);
//店鋪收藏成功添加數據到統計中心
$analytics_data = array(
'shop_id'=>$shop_id,
'date'=>date('Y-m-d'),
);
Yf_Plugin_Manager::getInstance()->trigger('analyticsShopCollect',$analytics_data);
- 序言
- 系統要求
- 版本更新日志
- 遠豐商城技術對接說明
- 開發指導
- 系統架構
- 負載集群
- 云存儲
- 框架內容
- 基礎
- 開發規范
- 目錄結構
- 架構
- 架構總覽
- 數據庫
- 數據庫連接
- 基本使用
- 緩存
- 配置
- 路由
- 數據字典
- ucenter
- shop
- paycenter
- ucenter_admin
- shop_admin
- paycenter_admin
- shop1
- shop2
- shop3
- 通訊內容
- 商家中心
- 頂部導航欄
- 店鋪信息欄
- 店鋪及商品提示欄
- 交易提示欄
- 銷售情況統計欄
- 集群架構圖
- 單品銷量排行欄
- 店鋪運營推廣欄
- 平臺聯系方式欄
- 訂單物流
- 商品
- 商品列表
- 商品詳情
- 商品發布與編輯
- 分銷商品
- 關聯版式
- 商品規格
- 圖片空間
- 淘寶導入
- 訂單流程
- 交易訂單
- 訂單退款/退貨
- 促銷
- 團購管理
- 加價購
- 限時折扣
- 滿即送
- 代金券管理
- 分銷
- 店鋪
- 店鋪設置
- 自銷產品供應商
- 實體店鋪
- 品牌申請
- 店鋪信息
- 消費者保障服務
- 門店賬號
- 分銷商--產品供應商
- 分銷明細
- 批發市場
- 商家微信公眾號
- 售后服務
- 咨詢管理
- 投訴管理
- 退款管理
- 退貨管理
- 雜項
- 遠程上傳圖片
- 接口(廢棄,參考最外層接口項)
- 接口說明
- 品牌
- 商品規格
- 商品類型
- 商品分類
- 商品
- 訂單
- 商品/店鋪收藏
- 足跡
- 退款及退貨
- 商家店鋪
- 會員
- 入駐協議
- 訂單接口
- 商品接口
- 訂單物流接口
- 商家中心接口
- 促銷接口
- 快遞鳥物流接口
- 代金券接口
- 首頁版塊
- 團購
- 平臺紅包
- 限時折扣接口
- 拼團接口
- wap首頁模板
- JS
- 銀聯支付
- 多語言
- 商品評分
- 圖片加載
- 買家申請退款退貨
- 商家退款退貨
- 平臺退款退貨
- 添加發票
- 提交訂單
- 確認訂單
- 運費銷售區域
- 獲取會員地址
- 充值
- 導出XLS
- 商城系統集成
- 多語言實現
- 三級分銷推廣鏈接發展推廣員
- app.ini.php
- 去分銷
- 版本更新
- 物流支持
- 運營人員建議
- 業務邏輯
- 統計結算
- 客服消息
- 賬號
- 三級分銷
- IM
- 配置
- 平臺帳號
- 活動數據表說明
- 接口
- 數據庫中間鍵
- MyCat的優勢
- 概念說明
- Mycat的下載及安裝
- 參數配置案列
- Mycat讀寫分離
- 基本命令
- 常見錯誤