1. ecshop首頁加數量輸入框, 在裡面輸入的數值如何同步到購物車里
這個得進行二次開發,動程序才能實現的!
2. js判斷ecshop購買數量不能大於庫存數量
這處不應該在購物車中判斷,應該在客戶提交數量,點購買按鈕時,直接就處理掉。
3. ECSHOP如何用JS或Ajax全站調取購物車商品總數量
自己寫個抄ajax請求的php頁面test.php:
<?php
define('IN_ECS',true);
require(dirname(__FILE__).'/includes/init.php');
$sql="selectgoods_numberfrom".$GLOBALS['ecs']->table('cart').'whereuser_id='.$_SESSION["user_id"];
$number=$GLOBALS['db']->getOne($sql);
echo$number;
調用ecshop封裝的ajax方法Ajax.call:
Ajax.call('test.php','',myresponse,'POST','TEXT');ajax請求test.php 得到結果result,通過回調函數賦值給id為id的元素。
functionmyresponse(result){
vartext=document.getElementbyId('id');
text.val=result;
}
4. ecshop 購物車的問題
ecshop默認的話,會讓同一個商品合並的,除非是不同屬性的同一個商品,是分開的。
5. ecshop 怎樣只能購物車只添加一次已經限定了購買的數量,怎麼樣限制用戶反復添加到購物車內呢
只會DW 的路過~~!~~~!~
6. ecshop 點購物車彈出『對不起你輸入了一個非法的商品數量』這是怎麼回事 在本地訪問都沒事的請大俠們幫忙
首先確定你的模板是正規模板商提供,因為這樣才能確保你的模板安全,無錯。另外就是你內可以在後台換默認模容板來測試是不是可以解決此問題,如果是代表模板問題,如果還不行建議你重新覆蓋所有php文件。
在網上該問題的其他解決方案:
1. 商品有其他的屬性(例如顏色、尺碼等),ECSHOP需要針對參考團購活動的商品針對不同的屬性設置不同的庫存數量,在商品列表後的最後一個小圖標(是貨品列表圖標)設置對應庫存就行。
2. 第二種情況是如果沒有設置商品屬性,就是ecshop安裝程序目錄下的 group_buy.php頁面程序有bug,需要手動修改一下代碼打開group_buy.php頁面,找到: if ($number > $proct_info['proct_number'])修改為: if ($specs && $number > $proct_info['proct_number']) 就可以直接購買了。不會再出現「對不起,商品庫存不足,請您修改數量」 的提示了,希望以上解決方法對您有所幫助。
7. ecshop 修改購物車中的購物數量,代碼如下,為什麼點擊加減圖片沒有得到相應的效果呢急。。。
這樣,我給你一段這個代碼,你相對比一下看看
<li style="width:608px"> <div class="guige" style="width:220px; float:left;">
<script language="javascript" type="text/javascript"> function goods_cut(){ var num_val=document.getElementById('number'); var new_num=num_val.value; var Num = parseInt(new_num); if(Num>1)Num=Num-1; num_val.value=Num; } function goods_add(){ var num_val=document.getElementById('number'); var new_num=num_val.value; var Num = parseInt(new_num); Num=Num+1; num_val.value=Num; } </script>
<span class="shuliang" style="width:165px">購買數量:<a href="javascript:void(0)" onclick="goods_cut();changePrice();">-</a><input onblur="changePrice();" id="number" name="" value="1" type="text"><a href="javascript:void(0)" onclick="goods_add();changePrice();">+</a></span></div>
<div style="float:left; width:150px;" >{$lang.amount}:<strong id="ECS_GOODS_AMOUNT" style="font-size:16px; font-weight:bold; color:#F34761;"></strong></div>
</li>
8. 如何讓ecshop購物車AJAX更新數量與價格
先打開flow.dwt,找到<!-- {if $goods.goods_id gt 0 && $goods.is_gift eq 0 && $goods.parent_id eq 0} 普通商品可修改數量 -->,把下面的input框裡面的替換成<a href="javascript:;" onclick="red_num({$goods.rec_id},{$goods.goods_id});"> - </a><input type="text" name="goods_number[{$goods.rec_id}]" id="goods_number_{$goods.rec_id}" value="{$goods.goods_number}" size="4" class="inputBg" style="text-align:center " onblur="change_price({$goods.rec_id},{$goods.goods_id})"/><a href="javascript:;" onclick='add_num({$goods.rec_id},{$goods.goods_id})' >+</a>
然後在下一個</td>後加一段js代碼<script type="text/javascript" charset="utf-8"> function add_num(rec_id,goods_id) { document.getElementById("goods_number_"+rec_id+"").value++; var number = document.getElementById("goods_number_"+rec_id+"").value; Ajax.call('flow.php', 'step=update_group_cart&rec_id=' + rec_id +'&number=' +number+'&goods_id=' + goods_id, changePriceResp**e, 'GET', 'JSON'); } function red_num(rec_id,goods_id) { if (document.getElementById("goods_number_"+rec_id+"").value>1) { document.getElementById("goods_number_"+rec_id+"").value--; } var number = document.getElementById("goods_number_"+rec_id+"").value; Ajax.call('flow.php', 'step=update_group_cart&rec_id=' + rec_id +'&number=' + number+'&goods_id=' + goods_id, changePriceResp**e, 'GET', 'JSON'); } function change_price(rec_id,goods_id){ var number = document.getElementById("goods_number_"+rec_id+"").value; //alert(number); Ajax.call('flow.php','step=update_group_cart&rec_id=' + rec_id +'&number=' + number+'&goods_id=' + goods_id, changePriceResp**e, 'GET', 'JSON'); } function changePriceResp**e(result) { if(result.error == 1) { alert(result.content); document.getElementById("goods_number_"+result.rec_id+"").value =result.number; } else { document.getElementById('subtotal_'+result.rec_id).innerHTML = result.subtotal;//商品總價 document.getElementById('cart_amount_desc').innerHTML = result.cart_amount_desc;//購物車商品總價說明 document.getElementById('market_amount_desc').innerHTML = result.market_amount_desc;//購物車商品總市價說明 } } </script>
接著把下一行的<td align="right" bgcolor="#ffffff" >{$goods.subtotal}</td>替換為 <td align="right" bgcolor="#ffffff" id="subtotal_{$goods.rec_id}">{$goods.subtotal}</td>找到{$shopping_money}和{$market_price_desc},分別替換為<span id="cart_amount_desc">{$shopping_money}</span>和<span id="market_amount_desc">{$market_price_desc}</span>
//二次開發,ajax更新購物車 elseif($_REQUEST['step']=='update_group_cart') { include_once('includes/cls_json.php'); $result = array('error' => 0, 'message' => '', 'content' => '', 'goods_id' => ''); $json = new JSON; $rec_id = $_GET['rec_id']; $number = $_GET['number']; $goods_id = $_GET['goods_id']; $result['rec_id'] =$rec_id; if ($GLOBALS['_CFG']['use_storage'] == 1) { $goods_number = $GLOBALS['db']->getOne("select goods_number from ".$GLOBALS['ecs']->table('goods')." where goods_id='$goods_id'"); if($number>$goods_number) { $result['error'] = '1'; $result['content'] ='對不起,您選擇的數量超出庫存您最多可購買'.$goods_number."件"; $result['number']=$goods_number; die($json->encode($result)); } } $sql = "UPDATE " . $GLOBALS['ecs']->table('cart') . " SET goods_number = '$number' WHERE rec_id = $rec_id"; $GLOBALS['db']->query($sql); /* 取得商品列表,計算合計 */ $cart_goods = get_cart_goods(); $subtotal = $GLOBALS['db']->getONE("select goods_price * goods_number AS subtotal from ".$GLOBALS['ecs']->table('cart')." where rec_id = $rec_id"); $result['subtotal'] = price_format($subtotal, false); $result['cart_amount_desc'] = sprintf($_LANG['shopping_money'], $cart_goods['total']['goods_price']); $result['market_amount_desc'] = sprintf($_LANG['than_market_price'], $cart_goods['total']['market_price'], $cart_goods['total']['saving'], $cart_goods['total']['save_rate'] ); die($json->encode($result)); }
9. ecshop怎麼在首頁中把購物車的商品循環顯示出來,默認的只是商品的所有數量和總金額
這個你可以買現成的商業模板,因為這個功能在商業模板里已經比較普遍了。模板堂的京東商城2013版本也有這個功能,先透露一下結構代碼用來給你拋磚引玉。
<!--{if$goods}-->
<divid="settleup-2013">
<dl>
<dtclass="ld">
<s></s>
<spanclass="shopping"><span>{$str}</span>
</span><ahref="flow.php">去購物車結算</a>
<b></b>
</dt>
<dd>
<divid="settleup-content">
<divclass="smt">
<h4class="fl">最新加入的商品</h4>
</div>
{foreachfrom=$goodsitem=goodsname=goods}
<divclass="smc">
<ulid="mcart-sigle">
<li>
<divclass="p-imgfl">
<ahref="{$goods.url}"><imgsrc="{$goods.goods_thumb}"style="width:50px;height:50px;"alt="{$goods.goods_name}"></a>
</div>
<divclass="p-namefl">
<ahref="{$goods.url}">{$goods.short_name}</a>
</div>
<divclass="p-detailfrar">
<spanclass="p-price"><strong>{$goods.goods_price}</strong>×{$goods.goods_number}</span><br>
<aclass="delete"href="javascript:"onClick="deleteCartGoods({$goods.rec_id})">刪除</a>
</div>
</li>
</ul>
</div>
{/foreach}
<divclass="smbar">共<b>{$zj.goods_number}</b>件商品共計<strong>¥{$zj.goods_price}</strong><br><ahref="flow.php"title="去購物車結算"id="btn-payforgoods">去購物車結算</a></div></div></dd>
</dl>
</div>
<!--{else}-->
......
10. ecshop怎麼取得購物車的總價
有以下兩點:
一、靜態頁面需要在頂部引入版,常用的權js文件
<script type="text/javascript" src="js/common.js"></script>
<script type="text/javascript" src="js/transport.js"></script>
<script type="text/javascript" src="js/utils.js"></script>