Prestashop 如何在自定义页面上显示购物车中的产品数量
我正在使用Prestashop 1.5,并创建了一个包含分组产品列表的页面。我想显示购物车中每种产品的数量。在购物车页面存在$product.cart\u数量属性,但在我的页面上不存在。请给我解释一下,如何在我的页面上显示购物车中的产品数量。我能想到的最简单的方法是通过cookies访问数据,因为购物车数据存储在cookies中 您可以获得如下Cookie数据:Prestashop 如何在自定义页面上显示购物车中的产品数量,prestashop,prestashop-1.5,Prestashop,Prestashop 1.5,我正在使用Prestashop 1.5,并创建了一个包含分组产品列表的页面。我想显示购物车中每种产品的数量。在购物车页面存在$product.cart\u数量属性,但在我的页面上不存在。请给我解释一下,如何在我的页面上显示购物车中的产品数量。我能想到的最简单的方法是通过cookies访问数据,因为购物车数据存储在cookies中 您可以获得如下Cookie数据: $context = Context::getContext(); echo '<pre>',print_
$context = Context::getContext();
echo '<pre>',print_r($context->cookie, true).'</pre>';
这将返回当前购物车的ID
现在,您希望返回购物车中的当前产品(以及其中包含的所有信息)。为此,您必须使用位于prestashop_main_文件夹/classes/cart.php中的公共函数
因此,要返回所有当前产品,只需使用以下行
$context=Context::getContext();
$id_cart=$context->cookie->id_cart;
if($id_cart=='') $id_cart=Tools::getValue('id_cart');
$theCart = new Cart($id_cart);
$products = $theCart->getProducts(true);
$nbTotalProducts = 0;
foreach ($products as $product)
{
$nbTotalProducts += (int)$product['cart_quantity'];
}
然后它返回一个数组,其中包含所有变量,您可以轻松访问这些变量
BR的您可以执行以下操作:
您是如何以及在何处创建页面的。您是通过CMS(创建新页面的prestashop内置功能)创建的还是在自定义模块中创建的?我使用了供应商页面(我不需要供应商,所以我使用了它)。
$Cart->getProducts($refresh = false, $id_product = false, $id_country = null)
$context=Context::getContext();
$id_cart=$context->cookie->id_cart;
if($id_cart=='') $id_cart=Tools::getValue('id_cart');
$theCart = new Cart($id_cart);
$products = $theCart->getProducts(true);
$nbTotalProducts = 0;
foreach ($products as $product)
{
$nbTotalProducts += (int)$product['cart_quantity'];
}