當前位置:首頁 » 網購平台 » ecshop無刷新更新購物車
擴展閱讀
寧波奧德賽優惠價格 2021-03-15 14:26:02
丹尼斯購物卡能掛失么 2021-03-15 14:25:58
淘寶購物指紋驗證失敗 2021-03-15 14:24:44

ecshop無刷新更新購物車

發布時間: 2021-03-01 01:52:40

❶ ecshop在購物車中 點擊「去結算」就是checkout,是不是要再更新一次購物車的

如果你把商品數量改了,那是需要更新一下,之後再加入購物車,默認ecshop是有這樣的問題

❷ 如何修改ecshop購物車自動清空的時間

這個時間不確定的,不過清空購物車一般是因為以下幾個原因:
1、當用戶的IP變化後,購物車自動專清屬空;
2、當瀏覽器關閉後,購物車自動清空;
3、當用戶退出登陸後,購物車自動清空;
4、管理員在後台登陸後,購物車自動清空。

❸ ecshop購物車結算問題

ecshop的購物車使用是相當的不方便.ecshop購物車一旦加入了商品,就必須點更新數量的按扭才能夠更新.這樣對ecshop使用者相當的不方便。我們將結合ecshop ajax的思路。來講講用ecshop的ajax無刷新更新購物車.
1:首先要包含js/shopping_flow.js 該文件主要是針對ecshop購買流程式控制制的js.我們將增加以下函數.
function submit_update_cart(rec_id){
var goods_number = document.getElementById("goods_number_"+rec_id).value;

Ajax.call('flow.php?step=ajax_update_cart', 'goods_number=' + goods_number+'&rec_id='+rec_id, submit_update_cartResponse_cart, 'GET', 'JSON');
}

2:在flow.dwt中。我們要修改input輸入框.<input type="text" name="goods_number[{$goods.rec_id}]" id="goods_number_{$goods.rec_id}"
3:在ecshop的購物車函數中。什麼json來結合ecshop ajax處理更新結果.部分程序如下
include_once('includes/cls_json.php');
$result = array('error' => '', 'content' => '', 'fanliy_number' => '0', 'rec_id' => '');
$json = new JSON();
/* AJAX修改購物車 */
$rec_id = $_REQUEST['rec_id']; //購物車ID
$goods_number = $_REQUEST['goods_number'];//

/* 判斷庫存 */
$num = $db -> getOne("select g.goods_number from ".$ecs->table('goods')." g ,".$ecs->table('cart')." c where c.rec_id = '$rec_id' and g.goods_id = c.goods_id ");
if($goods_number > $num){
$goods_number = $num;
$result['error'] = 1;
$result['fanliy_number']= $num;
$result['rec_id'] = $rec_id;
$result['content'] = '該商品庫存不足'.$goods_number." 件,只有".$num."件";
die($json->encode($result));
}

/* 修改商品購物車 */
$sql = "update ".$ecs->table('cart')." set goods_number = '".$goods_number."' where rec_id = '".$rec_id."' and session_id = '" . SESS_ID . "' ";
$db -> query($sql);
4:通過flow.php中的php.返回更新數量後的結果.
function submit_update_cartResponse_cart(result){

if(result.error == '1'){
document.getElementById("goods_number_"+result.rec_id).value = result.fanliy_number;
alert(result.content)
}else{
var layer = document.getElementById("xianshi_price");

layer.innerHTML = (typeof result == "object") ? result.content : result;
}
}
通過以上ecshop二次開發例子,我們完成了ecshop購物車無刷新更新。

詳情地址:http://www.shopex5.com/ecshop/1633.html

❹ ecshop的購物車中,能否實現點擊刪除不刷新頁面

如果刷新一個已經提交過的頁面時,系統總是會提示一個 "重試或取消」的對話框.,如果是一個普通的頁面,好象也無所謂,有就有,大不了多點一下.但是當我們是在子窗體中刷新父窗體時,就顯得有點多餘了.所以就想把這個對話框給去了.找了很的辦法.總結一下.

一, window.opener.location.reload() 如果改頁面沒提交過,這個方法好使.但是這個頁面一旦提交過後,系統就會提示"重試或取消」的對話框.

二 window.opener.location = window.opener.location;這個方法肯定不提示,但是有個問題就是分頁顯示的時候,一刷新總是會顯示第一頁,這個也是理所當然,因為默認請求的就是第一頁

三 window.opener.form1.submit();這個方法也不提示了,這個方法就是自動提交頁面,繞開那個煩人提示的界面,但是如果被刷新的頁面用到了比如gridwiew控制項之類的,裡面的數據可能不會隨著刷新而發生變化,原因就是gridwiew的數據綁定是在某個控制項的事件中進行,而頁面是通過submit()提交的,不會觸發該控制項的事件.gridwiew中的數據也是通過讀取viewstat中內容獲得的,所以在刷新過程中數據不會發生變化.

❺ ecshop的購物車修改在哪裡啊

方法有兩個:


  1. 在後台 有個修改 頂部導航的 欄目,可以把其中不需要的鏈內接刪除。

  2. 在模板文件中,在頭容部的頂端對應的模板庫文件中 把把其中不需要的鏈接刪除。


補充: 刪除多餘的後,如果還是被擠下來,可以調整一下此處的div的寬度。

❻ ECSHOP購物車沒有反應是怎麼回事

是詳情頁面加入購物車出現此問題還是其他頁面出現的此問題呢?

❼ 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');

functionmyresponse(result){
vartext=document.getElementbyId('id');
text.val=result;
}
ajax請求test.php 得到結果result,通過回調函數賦值給id為id的元素。

❽ php問題-ecshop購物商城中購物車的bug問題

你要提交訂單的時候超過庫存不能提交,就在後台設置

商店設置》》購物流程》》減庫存時機

你選下訂單時就會在訂單提交的時候做判斷的

如果選擇發貨時,那就會在你操作訂單去發貨時候判斷庫存

❾ ecshop加入購物車後,怎麼自動刷新購物車頁面啊

你指的是在購物車直接商品數量後自動更新購物車總價嗎?

❿ ecshop購物車價格不能及時更新為最新價格

這個其實有方法解決的,你可以看看模板堂模板的購物車頁面,基本已經實現了這個功能。


下面引用了一篇教程


在購物流程頁中,修改商品數量後可以自動更新購物車里的數據的功能,網上雖有少量方法,但是代碼修改量比較大,而且考慮不是很周全,如禮品等的計算,數量框輸入非數字字元後的反應等等。
我個人覺得沒有必要搞這么麻煩,代碼多了反而影響速度。直接利用原來的「更新購物車」按鈕和系統默認的判斷並進行少量修改就能很安全簡單的實現自動更新功能。
思路就是用一小段JS代碼來代替更新按鈕進行表單提交,在商品數量輸入框代碼中添加一個失去焦點觸發上述JS的onblur事件,在flow.php的update_cart過程頁中修改跳轉,讓其自動跳回flow.php而不顯示修改信息即可。
以2.7.0版的default模版為例:
1.備份並修改模版目錄下的flow.dwt文件:
(1)在<head>之間添加一段JS,用於取代更新按鈕實現表單提交:

<scripttype=」text/javascript」>
functionformSubmit()
{
document.getElementById(「formCart」).submit();
}
</script>

(2)在<body>之間找到諸如以下代碼:

<!–{if$goods.goods_idgt0&&$goods.is_gifteq0&&$goods.parent_ideq0}普通商品可修改數量–>
<inputtype=」text」name=」goods_number[{$goods.rec_id}]」id=」goods_number_{$goods.rec_id}」value=」{$goods.goods_number}」size=」4″style=」text-align:center」onkeydown=」showdiv(this)」/>

將改成對象失去焦點時觸發事件:onblur=」formSubmit()」,如:

<!–{if$goods.goods_idgt0&&$goods.is_gifteq0&&$goods.parent_ideq0}普通商品可修改數量–>
<inputtype=」text」name=」goods_number[{$goods.rec_id}]」id=」goods_number_{$goods.rec_id}」value=」{$goods.goods_number}」size=」4″style=」text-align:center」onblur=」formSubmit()」/>


(3)再找到下面的代碼:

<inputname=」submit」type=」submit」value=」{$lang.update_cart}」/>

把這段代碼刪掉,就等於把「更新購物車」這個按鈕刪掉了。如果想保留該按鈕,一定要把name=」submit」中的submit改成其他名字,否則在firebug下會報「submitisnotafunction」錯誤。原因是<form>之間如果有name=」submit」的元素話,在用document.getElementById(「formCart」).submit()提交表單的時候,該元素會和submit()方法發生混淆造成該錯誤。

2.備份並修改根目錄下的flow.php文件:
找到以下代碼:

elseif($_REQUEST['step']==『update_cart』)

show_message($_LANG['update_cart_notice'],$_LANG['back_to_cart'],『flow.php』);


整行注釋掉,
在它上面添加一行代碼:

ecs_header(「Location:flow.php
」);

用於實現更新購物車自動跳轉回詳細頁,如:

elseif($_REQUEST['step']==『update_cart』)
{
/*——————————————————*/
//–更新購物車
/*——————————————————*/

if(isset($_POST['goods_number'])&&is_array($_POST['goods_number']))
{
flow_update_cart($_POST['goods_number']);
}
ecs_header(「Location:flow.php 」);
//show_message($_LANG['update_cart_notice'],$_LANG['back_to_cart'],『flow.php』);
exit;
}

好啦,大功告成。