【问题标题】:Cart items is not showing on my custom script page购物车项目未显示在我的自定义脚本页面上
【发布时间】:2014-05-08 05:19:41
【问题描述】:

我在magento root上做了一个自定义页面。我的脚本页面名称是Update_cart_items.php。 我想访问该页面上的当前购物车项目数组,但我不知道其中有什么问题。

这是我的代码:

<?php
 require_once 'app/Mage.php';
 umask(0);
 Mage::app('default');
 $cart = Mage::helper('checkout/cart')->getCart();
 print_r($cart);
?>

它显示的是空数组。我想在这里获取所有项目数组,所以请帮助!!!

【问题讨论】:

    标签: magento magento-1.7 magento-1.8


    【解决方案1】:

    你可以试试这些吗:

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

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

    其中一个应该在您的最后工作。

    【讨论】:

    • 感谢兄弟的回答,但@Keyur Shah 的回答对我有用..... +1 再次感谢您的帮助.....现在我有项目数组,我也有项目的自定义选项数组。我如何更改该脚本上的自定义选项值
    • 两者基本相同 :) 谢谢赞赏。
    • @Chiragit007 答案是一样的,但是你没有得到前端会话,所以它没有工作,对于自定义脚本你首先得到前端会话
    • 好的,伙计。你的信用:) :) 我以为他有与此相关的想法。
    • @Ciragit007: 兄弟请帮我解答这个问题stackoverflow.com/questions/23536044/…
    【解决方案2】:

    你可以使用下面的脚本,它工作正常

    <?php
        define('MAGENTO_ROOT', getcwd());
        $mageFilename = MAGENTO_ROOT . '/app/Mage.php';
        require_once $mageFilename;
        Mage::init();
    

    //自定义脚本

        $coreSession = Mage::getSingleton('core/session', array('name' => 'frontend'));
    

    /// 获取自定义脚本的前端会话

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

    如果您有任何疑问,请告诉我

    【讨论】:

    • 它工作的兄弟,谢谢....现在我有了项目数组,我在那个数组中有自定义选项。我想更改项目的自定义选项值。
    • @VishalSharma 很高兴为您提供帮助
    • 兄弟,现在我如何更改此自定义脚本页面上的自定义选项值
    • 兄弟请查看此链接stackoverflow.com/questions/11649962/…。我在你的 foreach 数组中添加了这段代码,但购物车项目的自定义选项没有更新......请帮助......或者你想让我为此创建一个新问题
    • @VishalSharma 您不能直接更新购物车,您必须为此创建一个模块,然后在评论中提出新问题,以便有人可以回答您的问题
    【解决方案3】:
    $cartHelper = Mage::helper('checkout/cart');
    $items = $cartHelper->getCart()->getItems(); //echo count($items);
    
        foreach ($items as $item)
        {
    $itemId = $item->getItemId();
    }
    

    【讨论】:

    • 我尝试过,当我回显购物车总物品时,它显示我为 0,但我的购物车中有 1 件产品。
    猜你喜欢
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-13
    • 1970-01-01
    相关资源
    最近更新 更多