当前位置: 首页>>网站问题>>正文


如何获取购物车中的所有物品?

webfans 网站问题 , , , , 去评论

问题描述

我想要获取购物车中所有物品的集合。

我怎样才能做到这一点 ?任何建议将不胜感激。

最佳解决方案

$cart = Mage::getModel('checkout/cart')->getQuote();
foreach ($cart->getAllItems() as $item) {
    $productName = $item->getProduct()->getName();
    $productPrice = $item->getProduct()->getPrice();
}

$cart中,您获得了购物车项目的所有集合,并且如果您想获取产品ID,则可以使用foreach循环获得的名称

次佳解决方案

我找到了另一个解以下代码适用于我。

$quote = Mage::getSingleton('checkout/session')->getQuote();
$cartItems = $quote->getAllVisibleItems();
foreach ($cartItems as $item) {
    $productId = $item->getProductId();     
    // Do something more
}

第三种解决方案

有几种方法以不同的方式工作:

  1. $items = Mage::getSingleton('checkout/cart')->getQuote()->getItemsCollection();
    

    返回与当前报价相关的所有项目的报价项目集合。

  2. $items = Mage::getSingleton('checkout/cart')->getItems();
    

    这是上述方法的捷径,但如果没有引号,它会返回一个空数组,因此您不能依赖获取集合实例。

  3. $items = Mage::getSingleton('checkout/cart')->getQuote()->getAllItems();
    

    加载项目集合,然后返回未标记为已删除的所有项目的数组(即已在当前请求中删除)

  4. $items = Mage::getSingleton('checkout/cart')->getQuote()->getAllVisibleItems();
    

    加载项目集合,然后返回未标记为已删除且没有父项目的所有项目的数组(即,您获得捆绑和可配置产品的项目,但未获得与其关联的子项目的项目)。每个数组项目对应于购物车页面中的显示行。

选择最适合您的需求的产品。在大多数情况下,最后一种方法是你所需要的,但不幸的是,Magento只提供它作为数组而不是集合。


请注意,Mage::getSingleton('checkout/cart')->getQuote()Mage::getSingleton('checkout/session')->getQuote()可互换。

参考资料

本文由朵颐IT整理自网络, 文章地址: https://duoyit.com/article/1776.html,转载请务必附带本地址声明。