|
|
<!DOCTYPE html>
|
|
|
<html lang="zh-TW">
|
|
|
<head>
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
<meta name="Keywords" content="{$keywords}" />
|
|
|
<meta name="Description" content="{$description}" />
|
|
|
|
|
|
<!-- TemplateBeginEditable name="doctitle" -->
|
|
|
<title>{$page_title}</title>
|
|
|
<!-- TemplateEndEditable -->
|
|
|
|
|
|
<!-- TemplateBeginEditable name="head" -->
|
|
|
<!-- TemplateEndEditable -->
|
|
|
|
|
|
<link rel="shortcut icon" href="favicon.ico" />
|
|
|
<link rel="icon" href="animated_favicon.gif" type="image/gif" />
|
|
|
|
|
|
<link href="css/bootstrap.css" rel="stylesheet" type="text/css" />
|
|
|
<link href="css/templatemo.css" rel="stylesheet" type="text/css" />
|
|
|
<link href="css/custom.css" rel="stylesheet" type="text/css" />
|
|
|
|
|
|
<!-- Load fonts style after rendering the layout styles -->
|
|
|
<link href="css/css2.css" rel="stylesheet" type="text/css" />
|
|
|
<link href="css/fontawesome.css" rel="stylesheet" type="text/css" />
|
|
|
|
|
|
<link href="{$ecs_css_path}" rel="stylesheet" type="text/css" />
|
|
|
<link href="cart.css" rel="stylesheet" type="text/css" />
|
|
|
{* 包含腳本文件 *}
|
|
|
{insert_scripts files='common.js,shopping_flow.js?2022110801'}
|
|
|
</head>
|
|
|
<body>
|
|
|
<!-- #BeginLibraryItem "/library/page_header.lbi" --><!-- #EndLibraryItem -->
|
|
|
{insert_scripts files='lizi_flow.js?2022110808'}
|
|
|
<!-- {if $step eq "cart"} -->
|
|
|
<!-- 購物車內容 -->
|
|
|
{* 包含腳本文件 *}
|
|
|
{insert_scripts files='showdiv.js'}
|
|
|
<script type="text/javascript">
|
|
|
{foreach from=$lang.password_js item=item key=key}
|
|
|
var {$key} = "{$item}";
|
|
|
{/foreach}
|
|
|
</script>
|
|
|
<div id="main">
|
|
|
<div class="top-next cle">
|
|
|
<div class="fr"> <a href="./" class="btn btn-secondary">繼續購物</a> <a href="javascript:void(0);" onclick="return selcart_submit();" class="btn btn-success" id="checkout-top"> 去結算 </a> </div>
|
|
|
</div>
|
|
|
<div class="cart-box" id="cart-box">
|
|
|
<div class="hd"> <span class="selcartgoods no2" id="itemsnum-top"><input type="checkbox" autocomplete="off" id="chkAll" name="chkAll" checked=true onclick="return chkAll_onclick()"><label for="chkAll">全選</label></span> <span class="no4">單價</span> <span>數量</span> <span>小計</span> </div>
|
|
|
<div class="goods-list">
|
|
|
<ul>
|
|
|
<form id="formCart1" name="formCart" method="post" action="flow.php">
|
|
|
<!-- {foreach from=$goods_list item=goods} -->
|
|
|
<li class="cle hover" style="border-bottom-style: none;">
|
|
|
|
|
|
<!-- {if $goods.goods_id gt 0 && $goods.extension_code neq 'package_buy'} 產品 -->
|
|
|
|
|
|
<div class="selcartgoods"> <input type="checkbox" {if !$goods.is_cansel} disabled {else} checked=checked {/if} autocomplete="off" name="sel_cartgoods[]" value="{$goods.rec_id}" id="sel_cartgoods_{$goods.rec_id}" onclick="select_cart_goods();"><label for="sel_cartgoods_{$goods.rec_id}"></label> </div>
|
|
|
<div class="pic"> <a href="goods.php?id={$goods.goods_id}" target="_blank">
|
|
|
<img alt="{$goods.goods_name|escape:html}" src="{$goods.goods_thumb}" class="loading"></a> </div>
|
|
|
<div class="name"> <a href="goods.php?id={$goods.goods_id}" target="_blank">{$goods.goods_name}
|
|
|
<!-- {if $show_goods_attribute eq 1} 顯示產品屬性 -->
|
|
|
<br><span style="color:#FF0000">{$goods.goods_attr|nl2br}</span>
|
|
|
<!-- {/if} -->
|
|
|
<!-- {if $goods.parent_id gt 0} 配件 -->
|
|
|
<span style="color:#FF0000">({$lang.accessories})</span>
|
|
|
<!-- {/if} -->
|
|
|
<!-- {if $goods.is_gift gt 0} 贈品 -->
|
|
|
<span style="color:#FF0000">({$lang.largess})</span>
|
|
|
<!-- {/if} --></a>
|
|
|
<p> </p>
|
|
|
</div>
|
|
|
|
|
|
<!-- {elseif $goods.goods_id gt 0 && $goods.extension_code eq 'package_buy'} -->
|
|
|
<div class="selcartgoods"> <input type="checkbox" {if !$goods.is_cansel} disabled {else} checked=checked {/if} autocomplete="off" name="sel_cartgoods[]" value="{$goods.rec_id}" id="sel_cartgoods_{$goods.rec_id}" onclick="select_cart_goods();"><label for="sel_cartgoods_{$goods.rec_id}"></label> </div>
|
|
|
<div class="pic"> <img src="images/czlb.png"></div>
|
|
|
<div class="name"> <a href="javascript:void(0)" onclick="setSuitShow({$goods.goods_id})">{$goods.goods_name}<span style="color:#FF0000;">({$lang.remark_package})</span></a>
|
|
|
<p>
|
|
|
|
|
|
<div id="suit_{$goods.goods_id}" style="display:none">
|
|
|
<!-- {foreach from=$goods.package_goods_list item=package_goods_list} -->
|
|
|
<a href="goods.php?id={$package_goods_list.goods_id}" target="_blank" class="f6">{$package_goods_list.goods_name}</a><br />
|
|
|
<!-- {/foreach} -->
|
|
|
</div>
|
|
|
</p>
|
|
|
</div>
|
|
|
<!-- {else} 優惠活動 -->
|
|
|
<div class="selcartgoods"> <input type="checkbox" {if !$goods.is_cansel} disabled {else} checked=checked {/if} autocomplete="off" name="sel_cartgoods[]" value="{$goods.rec_id}" id="sel_cartgoods_{$goods.rec_id}" onclick="select_cart_goods();"><label for="sel_cartgoods_{$goods.rec_id}"></label> </div>
|
|
|
<div class="pic"> <img src="images/yhcx.png"></div>
|
|
|
<div class="name">{$goods.goods_name}
|
|
|
<p></p>
|
|
|
</div>
|
|
|
<!-- {/if} -->
|
|
|
<div class="price-xj">
|
|
|
<p><em>{$goods.goods_price}</em></p>
|
|
|
</div>
|
|
|
<!-- {if $goods.goods_id gt 0 && $goods.is_gift eq 0 && $goods.parent_id eq 0} 普通產品可修改數量 -->
|
|
|
<div class="nums">
|
|
|
<span class="minus" title="減少1個數量" onclick="flowClickCartNum({$goods.rec_id},-1);" >-</span>
|
|
|
<input type="text" id="goods_number_{$goods.rec_id}" value="{$goods.goods_number}" onchange="flowClickCartNum({$goods.rec_id},0)">
|
|
|
<span class="add" title="增加1個數量" onclick="flowClickCartNum({$goods.rec_id},+1);">+</span>
|
|
|
</div>
|
|
|
<!-- {else} -->
|
|
|
<div class="nums" style="text-indent:35px; font-size:14px;"> {$goods.goods_number} </div>
|
|
|
<!-- {/if} -->
|
|
|
<div class="price-xj"><span></span> <em id="total_items_{$goods.rec_id}">{$goods.subtotal}</em> </div>
|
|
|
<div class="del"> <a class="btn btn-danger btn-sm" href="javascript:if (confirm('{$lang.drop_goods_confirm}')) location.href='flow.php?step=drop_goods&id={$goods.rec_id}';">刪除</a> </div>
|
|
|
</li>
|
|
|
<!-- {/foreach} -->
|
|
|
<input type="hidden" name="step" id="actname" value="update_cart" />
|
|
|
</form>
|
|
|
</ul>
|
|
|
</div>
|
|
|
<script type="text/javascript" charset="utf-8">
|
|
|
function chkAll_onclick(){
|
|
|
var obj = document.getElementById('chkAll');
|
|
|
var obj_cartgoods = document.getElementsByName("sel_cartgoods[]");
|
|
|
for (var i=0;i<obj_cartgoods.length;i++){
|
|
|
if(!obj_cartgoods[i].disabled){
|
|
|
var e = obj_cartgoods[i];
|
|
|
|
|
|
if (e.name != 'chkAll'){
|
|
|
e.checked = obj.checked;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
select_cart_goods();
|
|
|
}
|
|
|
function select_cart_goods(){
|
|
|
var sel_goods = new Array();
|
|
|
var obj_cartgoods = document.getElementsByName("sel_cartgoods[]");
|
|
|
var j=0;
|
|
|
var c = true;
|
|
|
for (i=0;i<obj_cartgoods.length;i++){
|
|
|
if(obj_cartgoods[i].checked == true){
|
|
|
sel_goods[j] = obj_cartgoods[i].value;
|
|
|
j++;
|
|
|
}else{
|
|
|
c = false;
|
|
|
}
|
|
|
}
|
|
|
document.getElementById('chkAll').checked = c;
|
|
|
|
|
|
axios.get('flow.php?act=selcart&sel_goods=' + sel_goods)
|
|
|
.then((res)=>{
|
|
|
selcartResponse(res.data)
|
|
|
})
|
|
|
|
|
|
}
|
|
|
function selcartResponse(res){
|
|
|
if (res.err_msg.length > 0){
|
|
|
alert(res.err_msg);
|
|
|
}else{
|
|
|
document.getElementById('selectedCount').innerHTML = res.total_number;
|
|
|
document.getElementById('totalSkuPrice').innerHTML = res.result;
|
|
|
}
|
|
|
}
|
|
|
function selcart_submit(){
|
|
|
var obj_cartgoods = document.getElementsByName("sel_cartgoods[]");
|
|
|
var formobj = document.getElementById('formCart1');
|
|
|
var j=0;
|
|
|
for (i=0;i<obj_cartgoods.length;i++){
|
|
|
if(obj_cartgoods[i].checked == true){
|
|
|
j++;
|
|
|
}
|
|
|
}
|
|
|
if (j>0){
|
|
|
|
|
|
formobj.action='flow.php?step=checkout';
|
|
|
document.getElementById('actname').value='checkout';
|
|
|
formobj.submit();
|
|
|
return true;
|
|
|
}else{
|
|
|
alert('您還沒有選擇產品哦!');
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
<div class="fd cle">
|
|
|
<div class="fl">
|
|
|
<p class="no1"> <a id="del-all" href="flow.php?step=clear">清空購物車</a> </p>
|
|
|
<p><a class="btn btn-secondary" href="./">繼續購物</a></p>
|
|
|
</div>
|
|
|
<div class="fr" id="price-total">
|
|
|
<p><span id="selectedCount">{$total.total_number}</span>件產品,總價:<span class="red"><strong id="totalSkuPrice">{$total.goods_price}</strong></span></p>
|
|
|
<p><a href="javascript:void(0);" onclick="return selcart_submit();" class="btn btn-success">去結算</a></p>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<!-- {if $smarty.session.user_id gt 0} -->
|
|
|
{insert_scripts files='transport_jquery.js'}
|
|
|
<script type="text/javascript" charset="utf-8">
|
|
|
function collect_to_flow(goodsId)
|
|
|
{
|
|
|
var goods = new Object();
|
|
|
var spec_arr = new Array();
|
|
|
var fittings_arr = new Array();
|
|
|
var number = 1;
|
|
|
goods.spec = spec_arr;
|
|
|
goods.goods_id = goodsId;
|
|
|
goods.number = number;
|
|
|
goods.parent = 0;
|
|
|
Ajax.call('flow.php?step=add_to_cart', 'goods=' + goods.toJSONString(), collect_to_flow_response, 'POST', 'JSON');
|
|
|
}
|
|
|
function collect_to_flow_response(result)
|
|
|
{
|
|
|
if (result.error > 0)
|
|
|
{
|
|
|
// 如果需要缺貨登記,跳轉
|
|
|
if (result.error == 2)
|
|
|
{
|
|
|
if (confirm(result.message))
|
|
|
{
|
|
|
location.href = 'user.php?act=add_booking&id=' + result.goods_id;
|
|
|
}
|
|
|
}
|
|
|
else if (result.error == 6)
|
|
|
{
|
|
|
openSpeDiv(result.message, result.goods_id);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
alert(result.message);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
location.href = 'flow.php';
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
</div>
|
|
|
<div class="blank"></div>
|
|
|
<!-- {/if} -->
|
|
|
|
|
|
<!-- {if $fittings_list} 產品配件 -->
|
|
|
{insert_scripts files='transport_jquery.js'}
|
|
|
<script type="text/javascript" charset="utf-8">
|
|
|
function fittings_to_flow(goodsId,parentId)
|
|
|
{
|
|
|
var goods = new Object();
|
|
|
var spec_arr = new Array();
|
|
|
var number = 1;
|
|
|
goods.spec = spec_arr;
|
|
|
goods.goods_id = goodsId;
|
|
|
goods.number = number;
|
|
|
goods.parent = parentId;
|
|
|
Ajax.call('flow.php?step=add_to_cart', 'goods=' + $.toJSON(goods), fittings_to_flow_response, 'POST', 'JSON');
|
|
|
}
|
|
|
function fittings_to_flow_response(result)
|
|
|
{
|
|
|
if (result.error > 0)
|
|
|
{
|
|
|
// 如果需要缺貨登記,跳轉
|
|
|
if (result.error == 2)
|
|
|
{
|
|
|
if (confirm(result.message))
|
|
|
{
|
|
|
location.href = 'user.php?act=add_booking&id=' + result.goods_id;
|
|
|
}
|
|
|
}
|
|
|
else if (result.error == 6)
|
|
|
{
|
|
|
openSpeDiv(result.message, result.goods_id, result.parent);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
alert(result.message);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
location.href = 'flow.php';
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
<div class="page-btm" id="page-btm">
|
|
|
<div class="cuxiao-box">
|
|
|
<div class="hd">
|
|
|
<h3>{$lang.goods_fittings}</h3>
|
|
|
</div>
|
|
|
<form action="flow.php" method="post">
|
|
|
<div class="cuxiao-bd">
|
|
|
|
|
|
<ul class="cle" style="display: block;">
|
|
|
|
|
|
<!-- {foreach from=$fittings_list item=fittings} -->
|
|
|
<li>
|
|
|
<div class="bd">
|
|
|
<p class="pic">
|
|
|
<a href="{$fittings.url}" target="_blank">
|
|
|
<img data-original="{$fittings.goods_thumb}" src="images/spacer.gif" class="loading" alt="{$fittings.name|escape:html}" style="display: inline;">
|
|
|
</a>
|
|
|
</p>
|
|
|
<p class="price"><strong>{$fittings.fittings_price}</strong></p>
|
|
|
<p class="name"><a href="{$fittings.url}" target="_blank">{$fittings.short_name|escape:html}</a></p>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="btn-bd">
|
|
|
<a href="javascript:fittings_to_flow({$fittings.goods_id},{$fittings.parent_id})" class="graybtn">放入購物車</a>
|
|
|
</div>
|
|
|
</li>
|
|
|
|
|
|
<!-- {/foreach} 循環產品配件結束 -->
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
</form>
|
|
|
</div>
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<!-- {/if} -->
|
|
|
|
|
|
<!-- {/if} -->
|
|
|
|
|
|
<!-- {if $favourable_list} 優惠活動 -->
|
|
|
<div class="flowBox cart_main2" style="margin:0 auto 50px auto;">
|
|
|
<div class="hd">
|
|
|
<h3>{$lang.label_favourable}</h3>
|
|
|
</div>
|
|
|
<!-- {foreach from=$favourable_list item=favourable} -->
|
|
|
<form action="flow.php" method="post">
|
|
|
<table width="100%" align="center" border="0" cellpadding="5" cellspacing="1" bgcolor="#ccc" style="margin:0 auto;">
|
|
|
<tr>
|
|
|
<td align="right" bgcolor="#ffffff">{$lang.favourable_name}</td>
|
|
|
<td bgcolor="#ffffff"><strong>{$favourable.act_name}</strong></td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td align="right" bgcolor="#ffffff">{$lang.favourable_period}</td>
|
|
|
<td bgcolor="#ffffff">{$favourable.start_time} --- {$favourable.end_time}</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td align="right" bgcolor="#ffffff">{$lang.favourable_range}</td>
|
|
|
<td bgcolor="#ffffff">{$lang.far_ext[$favourable.act_range]}<br />
|
|
|
{$favourable.act_range_desc}</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td align="right" bgcolor="#ffffff">{$lang.favourable_amount}</td>
|
|
|
<td bgcolor="#ffffff">{$favourable.formated_min_amount} --- {$favourable.formated_max_amount}</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td align="right" bgcolor="#ffffff">{$lang.favourable_type}</td>
|
|
|
<td bgcolor="#ffffff"><span class="STYLE1">{$favourable.act_type_desc}</span>
|
|
|
<!-- {if $favourable.act_type eq 0} -->
|
|
|
<!-- {foreach from=$favourable.gift item=gift} --><br />
|
|
|
<input type="checkbox" value="{$gift.id}" name="gift[]" />
|
|
|
<a href="goods.php?id={$gift.id}" target="_blank" class="f6">{$gift.name}</a> [{$gift.formated_price}]
|
|
|
<!-- {/foreach} -->
|
|
|
<!-- {/if} --></td>
|
|
|
</tr>
|
|
|
<!-- {if $favourable.available} -->
|
|
|
<tr>
|
|
|
<td align="right" bgcolor="#ffffff"> </td>
|
|
|
<td align="center" bgcolor="#ffffff"><input type="submit" class="btn" alt="Add to cart" border="0" style="font-size: 16px;
|
|
|
padding: 10px 20px 12px; height:auto; cursor:pointer; border:none;" value="加入購物車" /></td>
|
|
|
</tr>
|
|
|
<!-- {/if} -->
|
|
|
</table>
|
|
|
<input type="hidden" name="act_id" value="{$favourable.act_id}" />
|
|
|
<input type="hidden" name="step" value="add_favourable" />
|
|
|
</form>
|
|
|
<!-- {/foreach} 循環贈品活動結束 -->
|
|
|
</div>
|
|
|
|
|
|
<!-- {/if} -->
|
|
|
|
|
|
<div class="add_ok" id="cart_show">
|
|
|
<div class="tip">
|
|
|
產品已成功加入購物車
|
|
|
</div>
|
|
|
<div class="go">
|
|
|
<a href="javascript:easyDialog.close();" class="back"><<繼續購物</a>
|
|
|
<a href="flow.php" class="btn btn-success">去結算</a>
|
|
|
</div>
|
|
|
</div>
|
|
|
<script>
|
|
|
function addToCartResponse(result)
|
|
|
{
|
|
|
if (result.error > 0)
|
|
|
{
|
|
|
// 如果需要缺貨登記,跳轉
|
|
|
if (result.error == 2)
|
|
|
{
|
|
|
if (confirm(result.message))
|
|
|
{
|
|
|
location.href = 'user.php?act=add_booking&id=' + result.goods_id + '&spec=' + result.product_spec;
|
|
|
}
|
|
|
}
|
|
|
// 沒選規格,彈出屬性選擇框
|
|
|
else if (result.error == 6)
|
|
|
{
|
|
|
openSpeDiv(result.message, result.goods_id, result.parent ,result.number);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
alert(result.message);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var cartInfo = document.getElementById('ECS_CARTINFO');
|
|
|
var ECS_CARTINFO_TOP = document.getElementById('ECS_CARTINFO_TOP');
|
|
|
var cart_url = 'flow.php?step=cart';
|
|
|
if (cartInfo)
|
|
|
{
|
|
|
cartInfo.innerHTML = result.content;
|
|
|
}
|
|
|
if (ECS_CARTINFO_TOP)
|
|
|
{
|
|
|
ECS_CARTINFO_TOP.innerHTML = result.content_top;
|
|
|
$('.cart-panel-content').height($(window).height()-90);
|
|
|
}
|
|
|
|
|
|
location.href = cart_url;
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<!-- #BeginLibraryItem "/library/page_footer.lbi" --> <!-- #EndLibraryItem -->
|
|
|
<script type="text/javascript">
|
|
|
var process_request = "{$lang.process_request}";
|
|
|
{foreach from=$lang.passport_js item=item key=key}
|
|
|
var {$key} = "{$item}";
|
|
|
{/foreach}
|
|
|
var username_exist = "{$lang.username_exist}";
|
|
|
var compare_no_goods = "{$lang.compare_no_goods}";
|
|
|
var btn_buy = "{$lang.btn_buy}";
|
|
|
var is_cancel = "{$lang.is_cancel}";
|
|
|
var select_spe = "{$lang.select_spe}";
|
|
|
</script>
|
|
|
</body>
|
|
|
</html>
|