我正在为Magento开发一个运输模块,但却陷入了如何获取当前在该会话中的购物车中的物品。
我在互联网上关注一些教程,他们使用:
if ($request->getAllItems()) {
foreach ($request->getAllItems() as $item) {
//do something here.....
}
}
我的问题是我不确切知道$ item变量上的信息/数据是什么?。
我想获得当前购物车上的产品的重量和价格来计算运费。我尝试使用 Mage :: log 打印$ item值,或者使用print_r
或var_dump
将其打印到屏幕上但不成功。日志为空,变量不会在屏幕上打印。
有人可以告诉我如何获取$item attributes/method
或者是否有其他方式来获取当前购物车中的产品信息?
非常感谢任何帮助:)
答案 0 :(得分:2)
您可以使用Mage::getSingleton('checkout/session')->getQuote();
getItemsCollection()
- 正在审核sales/quote_items
集合getAllItems()
- 检索所有项目getAllVisibleItems()
- 检索未删除但有parent_item_id != null
答案 1 :(得分:1)
我正在寻找这个解决方案,并在下面找到。但未经测试。
$CartSession = Mage::getSingleton('checkout/session');
foreach($CartSession->getQuote()->getAllItems() as $item)
{
$productWeight = $item->getWeight();
$productExPrice = $item->getPrice(); // price excluding tax
$productIncPrice = $item->getPriceInclTax(); // price excluding tax
}
答案 2 :(得分:0)
如果您想了解有关$ item的信息,可以执行以下操作:
print_r($item->getData());
如果你想获得物品重量,请按下:
$item->getWeight();