Magento:我如何从form_key获取所有购物车数据

时间:2015-08-04 10:57:01

标签: php magento

我已在购物车页面的底部添加了一个表单,并将购物车页面更改为重定向到我自己的自定义页面。

此自定义页面目前只输出上一页提交的数据,如下所示:print_r($_POST);

这会产生以下输出:

Array
(
    [form_key] => 2AJOmd7GhFVICntG
    [cart] => Array
        (
            [20] => Array
                (
                    [qty] => 1
                )
        )
)

所以我的问题是,如何从form_key获取所有购物车数据。

纯PHP的解决方案更可取。这是Magento 1.9.x。

1 个答案:

答案 0 :(得分:3)

如果您只想检索magento购物车数据,请使用下面提到的代码。

$itemsCollection = Mage::getSingleton('checkout/session')->getQuote()->getItemsCollection();


$itemsVisible = Mage::getSingleton('checkout/session')->getQuote()->getAllVisibleItems();


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

foreach($items as $item) {
    echo 'ID: '.$item->getProductId().'<br />';
    echo 'Name: '.$item->getName().'<br />';
    echo 'Sku: '.$item->getSku().'<br />';
    echo 'Quantity: '.$item->getQty().'<br />';
    echo 'Price: '.$item->getPrice().'<br />';
    echo "<br />";          
}


$totalItems = Mage::getModel('checkout/cart')->getQuote()->getItemsCount();
$totalQuantity = Mage::getModel('checkout/cart')->getQuote()->getItemsQty();

$subTotal = Mage::getModel('checkout/cart')->getQuote()->getSubtotal();
$grandTotal = Mage::getModel('checkout/cart')->getQuote()->getGrandTotal();

或者,如果您想从购物车页面表单中获取发布的数据,则必须使用下面提到的代码来获取提交的数据。

$post = Mage::app()->getRequest()->getPost();

print_r($post);