Ecshop首頁購物車數量調取問題

來源:互聯網
上載者:User

在page_header.lbi中調用SQL:
<?php
$sql = 'SELECT SUM(goods_number) AS number' .
' FROM ' . $GLOBALS['ecs']->table('cart') .
" WHERE session_id = '" . SESS_ID . "' AND rec_type = '" . CART_GENERAL_GOODS . "'";
$row = $GLOBALS['db']->GetRow($sql);
if ($row)
{
$number = intval($row['number']);
}
else
{
$number = 0;
}
echo $number;
?>
    但這樣會有一個問題,因為不是AJAX調用的,所有在首頁會有緩衝,也就是導致首頁購物車中顯示的購物數量不準確,所以在index.php中關閉緩衝,設定$smarty->caching = false; 前期使用者量小,這種方法沒有多大的問題。
    使用AJAX調用也許會 解決這個問題,但是需要用post的方式來提交非同步請求,如果用get的話會泄露使用者的資訊,導致安全問題,有待進一步開發。
    失敗的嘗試:將page_header.lbi中的內容放到index.dwt中,然後設定一個可編輯區域,在後台模板調用中調用購物車資訊,把includes/lib_insert.php中的 cart_info方法 改一下,返回$number,而不是格式化好的字串,可是自訂的地區無法正常顯示,沒惹你的地區可以,不知道 為何,糾結,有待進一步考證。
     緩衝問題已解決,問題出在lib_insert裡的函數,最後返回的是一個連結,導致了兩個<a>標籤的嵌套,所以出了問題。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.