Magento运输模块:获取购物车中当前的所有项目

taor4pac  于 2023-01-17  发布在  其他
关注(0)|答案(3)|浏览(135)

我正在开发Magento的运输模块,但陷入了如何获得目前在该会议的购物车中的项目.
我遵循一些教程在互联网上,他们用途:

if ($request->getAllItems()) { 
    foreach ($request->getAllItems() as $item) {
      //do something here.....

    }
}

我的问题是我不知道$item变量上到底有什么信息/数据??
我想获得当前购物车上产品的重量和价格来计算运费。我尝试使用** Mage ::log**打印$item值或使用print_rvar_dump打印到屏幕上,但没有成功。日志为空,变量不会打印到屏幕上。
有人能告诉我如何获得$item attributes/method吗?或者有没有其他方法可以获得当前购物车中的产品信息?

slmsl1lt

slmsl1lt1#

您可以使用Mage::getSingleton('checkout/session')->getQuote();中提供的三种方法之一来实现这一点

  • getItemsCollection()-检索sales/quote_items集合
  • getAllItems()-检索所有项目
  • getAllVisibleItems()-检索未删除且具有parent_item_id != null的项目
jutyujz0

jutyujz02#

我正在寻找这个解决方案,并发现下面.但没有测试.

$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
}
qpgpyjmq

qpgpyjmq3#

如果您想了解有关$item的信息,可以执行以下操作:

print_r($item->getData());

如果你想得到物品重量,这里是:

$item->getWeight();

相关问题