我正在尝试在 Prestashop 1.4.9 中的购物车模块 ajax-cart.js 中检索购物车 ID。
我找不到任何好的方法,因为它没有存储在 cookie 中。
我正在尝试在 Prestashop 1.4.9 中的购物车模块 ajax-cart.js 中检索购物车 ID。
我找不到任何好的方法,因为它没有存储在 cookie 中。
您有几种方法可以从当前访问者那里检索购物车 ID,最简单的一种是使用 Context。
第 1 步:打开 /modules/blockcart/ajax-cart.js 并查找
$(document).ready(function(){
在下面添加:
$.ajax({
type: 'GET',
url: baseDir + 'modules/blockcart/ajax.php' + '?retrieve_cart_id=1',
success: function(result_cart_id)
{
alert(result_cart_id);
/* my_id_cart = parseInt(result_cart_id); Uncomment this line to store the value into a JS variable */
}
});
第 2 步:在 /modules/blockcart/ 中创建一个名为 ajax.php 的文件
里面有以下代码
<?php
include(dirname(__FILE__).'/../../config/config.inc.php');
include(dirname(__FILE__).'/../../init.php');
$context = Context::getContext();
if (Tools::getValue('retrieve_cart_id') == 1)
echo isset($context->cookie->id_cart) ? (int)$context->cookie->id_cart : 0;
而已!
此外,您可能需要考虑这样一个事实,即通过在 Javascript 中检索此值,访问者将公开该值。根据您的代码和支付模块的安全程度,这可能是一个问题。