0

我正在尝试在 Prestashop 1.4.9 中的购物车模块 ajax-cart.js 中检索购物车 ID。

我找不到任何好的方法,因为它没有存储在 cookie 中。

4

1 回答 1

3

您有几种方法可以从当前访问者那里检索购物车 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 中检索此值,访问者将公开该值。根据您的代码和支付模块的安全程度,这可能是一个问题。

于 2013-06-19T13:14:37.677 回答