我已在购物车页面的底部添加了一个表单,并将购物车页面更改为重定向到我自己的自定义页面。
此自定义页面目前只输出上一页提交的数据,如下所示:print_r($_POST);
这会产生以下输出:
Array
(
[form_key] => 2AJOmd7GhFVICntG
[cart] => Array
(
[20] => Array
(
[qty] => 1
)
)
)
所以我的问题是,如何从form_key
获取所有购物车数据。
纯PHP的解决方案更可取。这是Magento 1.9.x。
答案 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);