重点是:$this->display(ajax_show_cart); 此页面能直接传回去ajax调用
html:
<input type="hidden" id="showcarturl" value="<{:U('Cart/showCart')}>">
<div class="shopping-cart shopping-open">
<a class="shopping-cart-btn" href="<{:U('Cart/index')}>"><i class="shopping-cart-icon"></i>我的购物车</a>
<div id="show_little_cart"><!-- 异步加载购物车简介 --></div>
</div>
jq:
//进入页面触发show_cart()
$(function() {
show_cart();
}
//显示购物车简介
function show_cart(){
if($('#showcarturl').val()!=undefined){
$.post($('#showcarturl').val(),{},function (data){
$('#show_little_cart').html(data);
//isShoppingEmpty();
})
}
}
php:
/**
* [showCart 购物车简介]
* @Author:hkz
* @DateTime:2016-09-28T17:27:12+0800
* @return [type] [description]
*/
public function showCart(){
$member_id=0;
if(session('member.member_id')){
$member_id=session('member.member_id');
}
$cart_model = D('cart');
$cart_list = $cart_model->getCartGoods($member_id,0,session('member.level'));
$all_money = 0;
foreach($cart_list as $ka=>$va){
$all_money += $va['goods_price']*$va['goods_num'];
}
$this->assign('goods_num',count($cart_list));
$this->assign('all_money',$all_money);
$this->assign('cart_list',$cart_list);
//加载简介页面并且用来返回给ajax
$this->display('ajax_show_cart');
}
ajax_show_cart.html
<span class="shopping-cart-tip"><{$goods_num}></span>
<div class="shopping-box">
<div class="t">最新加入的商品</div>
<foreach name="cart_list" item="va">
<div class="shopping-goods">
<a href="<{:U('Goods/index')}>?id=<{$va.goods_id}>">
<img class="p" src="<{:C('ImageHostName')}><{$va.goods_image}>" />
<div class="context"><p class="t"><{$va.goods_name}></p><p class="b"><span><{$va.spec_info}></span></p></div>
</a>
<div class="price">
<div>¥<{$va.goods_price}>x<{$va.goods_num}></div>
<a class="shopping-goods-del" data="<{$va.id}>" href="javascript:void(0)" >删除</a>
</div>
</div>
</foreach>
<div class="all-price">
共<{$goods_num}>件商品 共计¥<{$all_money|sprintf="%.2f",###}>
<a class="go" href="<{:U('Cart/index')}>">去购物车</a>
</div>
<div class="shopping-box-empty">购物车中还没有商品,赶紧选购吧!</div>
</div>