从Magento中的自定义模块中获取购物车内容

时间:2016-03-15 12:58:30

标签: php magento magento-1.9

在我的magento中,我已将产品添加到购物车 - 所以我在结帐页面上看到以下内容:

enter image description here

我有一个TestController带有IndexAction的自定义模块,我想在其中检索购物篮的当前内容以进行自定义处理。这将用于提供"获得交付成本估算"类型功能。

即。客户将一堆物品添加到购物篮中(作为客人),点击前端的按钮,然后将它们带到我们的模块,在那里他们将进入目的地国家和邮政编码,我们将进行一些自定义处理,让客户知道估计的内容交付成本将是。

我试图检索这样的篮子内容:

$cart_contents = Mage::helper('checkout')->getQuote();
foreach ($cart_contents->getItemsCollection() as $item) {
   var_dump($item->getName());
}
exit;

这不会返回任何内容。

我也尝试过不同的方法:

$quote = Mage::getSingleton('checkout/session')->getQuote();
$cartItems = $quote->getAllVisibleItems();
echo "<pre>";
foreach ($cartItems as $item) {
    print_r($item->getData());
}
exit;

这也没有任何回报。

记住;这是一个客人结账(即客户未登录)。

测试有效报价;我做了以下事情:

echo "<pre>";
print_r(Mage::helper('checkout')->getQuote()->getData());
echo "<hr>";
print_r(Mage::getSingleton('checkout/session')->getQuote()->getData());
exit;

这就是我的回忆:

Array
(
    [store_id] => 5
    [is_checkout_cart] => 1
    [remote_ip] => 90.xxx.xxx.xxx
    [x_forwarded_for] => 90.xxx.xxx.xxx
)
Array
(
    [store_id] => 5
    [is_checkout_cart] => 1
    [remote_ip] => 90.xxx.xxx.xxx
    [x_forwarded_for] => 90.xxx.xxx.xxx
)

2 个答案:

答案 0 :(得分:0)

您可以使用以下脚本在自定义控制器操作上获取购物车项目。

scrollView.setNestedScrollingEnabled(true);

答案 1 :(得分:0)

这是用于获取购物车项目的Magento代码;试试吧:

$cart = Mage::getModel('checkout/cart')->getQuote();

if($cart->getAllItems()):
    foreach ($cart->getAllItems() as $item):
        echo $item->getProduct()->getName();
    endforeach;
endif;