【问题标题】:How to loop through all items in the Magento cart?如何遍历 Magento 购物车中的所有商品?
【发布时间】:2011-01-26 14:20:09
【问题描述】:

好吧,我不知道怎么做这个简单的事情。我只需要遍历购物车中当前的 3 件商品,这样我就可以获得每件商品的信息——比如产品类别、商品名称、等等等等。我已经用谷歌搜索了一个小时,但没有发现任何关于似乎如此简单的任务的任何信息。获取报价,然后 getAllItems() 对我没有任何回报。有人有任何想法/链接吗?

谢谢。

【问题讨论】:

    标签: php magento


    【解决方案1】:

    您确定报价无效吗?以下代码应该可以工作:

    $session = Mage::getSingleton('checkout/session');
    foreach ($session->getQuote()->getAllItems() as $item) {
        print_r($item->getData());
    }
    

    当然,如果您不是从 Magento 模板/控制器/模型中执行此操作,那么您需要适当地设置环境:

    require_once 'app/Mage.php';
    umask(0);
    Mage::app();
    
    /* Then put your code here.. */
    

    【讨论】:

    • 是的,奇怪的是对我不起作用。页面挂了 10 秒,然后空白:(
    • 有时print_r 可以进入无限递归。尝试一些简单的东西,比如print $item->getName()
    • 如果它是白白的,那么它可能是一个 PHP 内存问题,所以检查你的 apache 日志,而不是像 @powtac 和 @clockworkgeek 建议的那样使用潜在的内存繁重的函数,例如 print_r/var_dump成为你的下一步。
    • 好的,谢谢你们。我们有一个截止日期问题,所以我不得不让它以另一种方式工作(与 Magento 无关)。会尝试在我自己的时间回来解决这个问题,但是由于很多人都同意这是正确的答案,所以可能只是我个人遇到了这样的问题。再次感谢所有反馈。
    猜你喜欢
    • 1970-01-01
    • 2019-12-09
    • 2014-03-03
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多