Модуль доставки Magento: Получить все товары в корзине - PullRequest
0 голосов
/ 21 февраля 2012

Я нахожусь в процессе разработки модуля доставки для Magento, но застрял на том, Как получить предметы, которые в настоящее время находятся в корзине для этого сеанса.

Я следую некоторому учебнику в Интернете, они используют:

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

    }
}

Моя проблема в том, что Я не знаю точно, какая информация / данные находятся в переменной $ item ?? .

Я хочу получитьвес и цена товара, который в данный момент находится в корзине, для расчета стоимости доставки.Я попытался напечатать значение $ item с помощью Mage :: log или распечатать его на экране с помощью print_r или var_dump, но это не удалось.Журнал пуст, и переменная не будет напечатана на экране.

Может кто-нибудь сообщить мне, как получить $item attributes/method, или есть какой-нибудь другой способ получить информацию о продукте, которая в настоящее время находится в корзине?

Любая помощь будет высоко ценится:)

Ответы [ 3 ]

2 голосов
/ 21 февраля 2012

Вы можете достичь этого, используя один из трех методов, доступных в Mage::getSingleton('checkout/session')->getQuote();

  • getItemsCollection() - получить sales/quote_items коллекция
  • getAllItems() - получить всеitems
  • getAllVisibleItems() - получить предметы, которые не были удалены и имеют parent_item_id != null
1 голос
/ 07 сентября 2013

Я искал это решение и нашел ниже. но не проверено.

$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
}
0 голосов
/ 21 февраля 2012

Если вы хотите узнать информацию о $ item, вы можете сделать это:

print_r($item->getData());

Если вы хотите получить вес элемента, вот оно:

$item->getWeight();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...