vr-shopxo-plugin/shopxo/app/index/view/default/cart/index.html

461 lines
27 KiB
HTML
Executable File
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{{:ModuleInclude('public/header')}}
<!-- nav start -->
{{:ModuleInclude('public/nav')}}
<!-- nav end -->
<!-- header top nav -->
{{:ModuleInclude('public/header_top_nav')}}
<!-- search -->
{{:ModuleInclude('public/nav_search')}}
<!-- header nav -->
{{:ModuleInclude('public/header_nav')}}
<!-- goods category -->
{{:ModuleInclude('public/goods_category')}}
<!-- content -->
<div class="cart-content" data-ajax-url="{{:MyUrl('index/cart/stock')}}">
{{if !empty($cart_list)}}
<!-- 商品 -->
<div class="am-container cart-table am-background-white am-radius am-margin-bottom-main">
<!-- 商品列表 -->
<table class="am-table">
<thead>
<tr class="am-text-sm">
<th>{{:MyLang('cart.goods_list_thead_base')}}</th>
<th class="am-hide-sm-only">{{:MyLang('cart.goods_list_thead_price')}}</th>
<th>{{:MyLang('cart.goods_list_thead_number')}}</th>
<th class="am-hide-sm-only">{{:MyLang('cart.goods_list_thead_total')}}</th>
<th>{{:MyLang('operate_title')}}</th>
</tr>
</thead>
<tbody>
{{foreach $cart_list as $goods}}
<tr id="data-list-{{$goods.id}}" data-id="{{$goods.id}}" data-goods-id="{{$goods.goods_id}}" class="{{if $goods['is_error'] eq 1}}am-danger{{/if}}">
<td class="base">
<!-- 商品基础前面钩子 开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_cart_base_begin</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_cart_base_begin';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$goods]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 商品基础前面钩子 结束 -->
<label class="am-checkbox-inline am-fl">
<input type="checkbox" value="{{$goods.id}}" {{if $goods['is_error'] eq 1}}disabled{{/if}} data-am-ucheck />
</label>
<div class="goods-detail">
<a href="{{$goods.goods_url}}" target="_blank">
<img class="am-radius am-border-grey-light" src="{{$goods.images}}">
</a>
<div class="goods-base">
<a href="{{$goods.goods_url}}" target="_blank" class="goods-title">{{$goods.title}}</a>
{{if !empty($goods.spec)}}
<ul class="goods-attr">
{{foreach $goods.spec as $spec}}
<li>{{$spec.type}}{{$spec.value}}</li>
{{/foreach}}
</ul>
{{/if}}
</div>
</div>
<div class="wap-base am-show-sm-only">
{{if isset($goods['show_field_original_price_status']) and $goods['show_field_original_price_status'] eq 1}}
{{if $goods['original_price'] gt 0}}
<span class="original-price">{{$goods.show_original_price_symbol}}{{$goods.original_price}}{{$goods.show_original_price_unit}}</span>
{{/if}}
{{/if}}
{{if isset($goods['show_field_price_status']) and $goods['show_field_price_status'] eq 1}}
<font class="total-price-content am-color-grey-dark">{{$goods.show_price_symbol}}{{$goods.price}}{{$goods.show_price_unit}}</font>
{{/if}}
</div>
<!-- 商品基础后面钩子 开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_cart_base_end</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_cart_base_end';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$goods]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 商品基础后面钩子 结束 -->
</td>
<td class="price am-text-center am-hide-sm-only">
<!-- 商品单价前面钩子 开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_cart_price_begin</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_cart_price_begin';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$goods]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 商品单价前面钩子 结束 -->
<!-- 单价信息 -->
<div class="cart-price am-text-center">
{{if isset($goods['show_field_original_price_status']) and $goods['show_field_original_price_status'] eq 1}}
{{if $goods['original_price'] gt 0}}
<p class="original-price">{{$goods.show_original_price_symbol}}{{$goods.original_price}}{{$goods.show_original_price_unit}}</p>
{{/if}}
{{/if}}
{{if isset($goods['show_field_price_status']) and $goods['show_field_price_status'] eq 1}}
<p class="line-price">{{$goods.show_price_symbol}}{{$goods.price}}{{$goods.show_price_unit}}</p>
{{/if}}
</div>
<!-- 商品单价后面钩子 开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_cart_price_end</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_cart_price_end';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$goods]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 商品单价后面钩子 结束 -->
</td>
<td class="number am-text-center">
<!-- 商品数量前面钩子 开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_cart_number_begin</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_cart_number_begin';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$goods]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 商品数量前面钩子 结束 -->
<!-- 数量操作 -->
{{if $goods['is_error'] eq 0}}
<div class="am-input-group am-input-group-sm stock-tag" data-inventory="{{$goods.inventory}}" data-price="{{$goods.price}}">
<span class="am-input-group-label am-radius {{if $goods['is_shelves'] eq 1 and $goods['is_delete_time'] eq 0}}stock-submit{{/if}}" data-type="min">-</span>
<input type="number" class="am-form-field am-radius" value="{{$goods.stock}}" {{if $goods['is_shelves'] neq 1 or $goods['is_delete_time'] neq 0}}disabled{{/if}} data-min-limit="{{$goods.spec_buy_min_number}}" data-max-limit="{{$goods.spec_buy_max_number}}" data-unit="{{$goods.inventory_unit}}" />
<span class="am-input-group-label am-radius {{if $goods['is_shelves'] eq 1 and $goods['is_delete_time'] eq 0}}stock-submit{{/if}}" data-type="add">+</span>
</div>
{{else /}}
<p class="invalid-stock">{{$goods.stock}}</p>
{{if !empty($goods['error_msg'])}}
<p class="am-text-danger am-margin-top-xs tips-error-text">{{$goods.error_msg}}</p>
{{/if}}
{{/if}}
<!-- 商品数量后面钩子 开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_cart_number_end</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_cart_number_end';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$goods]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 商品数量后面钩子 结束 -->
</td>
<td class="total-price am-text-center am-hide-sm-only">
<!-- 商品总价面钩子 开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_cart_total_price_begin</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_cart_total_price_begin';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$goods]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 商品总价面钩子 结束 -->
<strong class="total-price-content">{{$currency_symbol}}{{$goods.total_price}}</strong>
<!-- 商品总价后面钩子 开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_cart_total_price_end</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_cart_total_price_end';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$goods]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 商品总价后面钩子 结束 -->
</td>
<td class="operation am-text-center">
<div class="operation-btn">
<a href="javascript:;" class="am-color-grey-dark submit-delete" data-url="{{:MyUrl('index/cart/delete')}}" data-id="{{$goods.id}}" data-view="fun" data-value="ViewDeleteBack">{{:MyLang('delete_title')}}</a>
<a href="javascript:;" class="am-color-grey-dark submit-ajax" data-url="{{:MyUrl('index/goods/favor')}}" data-id="{{$goods.goods_id}}" data-view="fun" data-is-confirm="0" data-value="ViewCollectBack">
{{if $goods['is_favor'] eq 1 }}
{{:MyLang('already_favor_title')}}
{{else /}}
{{:MyLang('favor_title')}}
{{/if}}
</a>
</div>
<!-- 商品操作栏 开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_cart_operate</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_cart_operate';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$goods]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 商品操作栏 结束 -->
</td>
</tr>
{{/foreach}}
</tbody>
</table>
<!-- 购物车列表内底部钩子 开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_cart_list_inside_bottom</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_cart_list_inside_bottom';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$cart_list]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 购物车列表内底部钩子 结束 -->
</div>
<!-- 导航 -->
<div class="cart-nav">
<div class="am-container am-background-white am-radius am-nbfc am-padding">
<div class="nav-left am-fl am-padding-left">
<label class="am-checkbox-inline select-all-event">
<input type="checkbox" value="1" data-am-ucheck />
<span class="el-text am-color-grey-dark">{{:MyLang('select_all_title')}}</span>
</label>
<a href="javascript:;" class="am-margin-left-main nav-delete-submit am-color-grey-dark submit-ajax" data-url="{{:MyUrl('index/cart/delete')}}" data-id="0" data-view="reload" data-msg="{{:MyLang('delete_confirm_tips')}}">{{:MyLang('delete_title')}}</a>
<a href="javascript:;" class="am-margin-left-main nav-collect-submit am-color-grey-dark submit-ajax" data-url="{{:MyUrl('index/goods/favor', ['is_mandatory_favor'=>1])}}" data-id="0" data-view="reload" data-is-confirm="0">{{:MyLang('favor_title')}}</a>
<!-- 导航左侧内部 开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_cart_nav_left_inside</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_cart_nav_left_inside';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$cart_list]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 导航左侧内部 结束 -->
</div>
<div class="nav-right am-fr am-padding-right">
<!-- 导航右侧内部 开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_cart_nav_right_inside</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_cart_nav_right_inside';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$cart_list]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 导航右侧内部 结束 -->
<form action="{{:MyUrl('index/buy/index')}}" method="post">
<span class="selected-tips am-color-grey-dark"><span>{{:MyLang('cart.summary_selected_goods_name')}}</span> <strong class="am-color-main">0</strong> <span>{{:MyLang('cart.summary_selected_goods_unit')}}</span></span>
<span class="total-price-tips am-color-grey-dark">{{:MyLang('cart.summary_nav_goods_total')}}</span>
<strong class="nav-total-price am-text-default am-color-main">{{$currency_symbol}}0.00</strong>
<input type="hidden" name="ids" value="0" />
<input type="hidden" name="buy_type" value="cart" />
<button type="submit" class="am-btn separate-submit am-border-main am-radius am-background-white am-color-main am-text-sm am-padding-horizontal-main am-text-truncate">{{:MyLang('cart.summary_nav_button_name')}}</button>
</form>
</div>
</div>
</div>
{{else /}}
<!-- 空购物车 -->
<div class="mixed-tips">
<img class="am-fl" src="{{:StaticAttachmentUrl('empty-cart.png')}}" />
<div class="mixed-tips-content am-fl">
<h1>{{:MyLang('cart.no_cart_data_tips')}}</h1>
<ul>
<li>
<span>{{:MyLang('see_title')}}</span>
<a href="{{if empty($user)}}javascript:;{{else /}}{{:MyUrl('index/usergoodsfavor/index')}}{{/if}}" class="{{if empty($user)}}login-event{{/if}}">{{:MyLang('cart.no_cart_data_my_favor_name')}}</a>
</li>
<li>
<span>{{:MyLang('see_title')}}</span>
<a href="{{if empty($user)}}javascript:;{{else /}}{{:MyUrl('index/order/index')}}{{/if}}" class="{{if empty($user)}}login-event{{/if}}">{{:MyLang('cart.no_cart_data_my_order_name')}}</a>
</li>
</ul>
</div>
</div>
{{/if}}
</div>
<!-- footer start -->
{{:ModuleInclude('public/footer')}}
<script type="text/javascript">
// 返回处理
function ViewDeleteBack (e) {
if (e.code == 0) {
$.AMUI.progress.done();
Prompt(e.msg, 'success');
$('#data-list-' + e.data_id).remove();
HomeCartNumberTotalUpdate(parseInt(e.data));
if (e.data.buy_number <= 0) {
setTimeout(function () {
window.location.reload();
}, 1500);
}
} else {
$('form.form-validation').find('button[type="submit"]').button('reset');
$.AMUI.progress.done();
Prompt(e.msg);
}
}
// 收藏返回处理
function ViewCollectBack (e,obj) {
if (e.code == 0) {
$.AMUI.progress.done();
Prompt(e.msg, 'success');
obj.text(e.data.text);
} else {
$('form.form-validation').find('button[type="submit"]').button('reset');
$.AMUI.progress.done();
Prompt(e.msg);
}
}
</script>