Получить информацию о корзине в Magento - PullRequest
14 голосов
/ 07 января 2011

Я хочу получить информацию о корзине, используя функцию Magento getQuote.Как я могу это сделать?

$cart = Mage::getModel('checkout/cart')->getQuote();

При печати $cart Страница прекращает выполнение и отображается пустая страница.Но когда я напишу

$cart = Mage::getModel('checkout/cart')->getQuote()->getData();

и напечатаю $cart, появится массив.Но я хочу отследить полные данные корзины (идентификатор продукта, цена продукта, как и всю информацию).

Есть ли другой способ, с помощью которого я могу найти данные карты покупок?

Ответы [ 2 ]

26 голосов
/ 07 января 2011

Объект, возвращаемый getQuote, представляет собой Mage_Sales_Model_Quote.У него есть метод getAllItems, который, в свою очередь, возвращает коллекцию Mage_Sales_Model_Quote_Item объектов.

Все это означает, что вы можете проверять такие продукты:

$cart = Mage::getModel('checkout/cart')->getQuote();
foreach ($cart->getAllItems() as $item) {
    $productId = $item->getProduct()->getId();
    $productPrice = $item->getProduct()->getPrice();
}

PS.Причина, по которой вы получаете пустую страницу, заключается в том, что выгрузка целого объекта, вероятно, упала в рекурсию и время ожидания истекло, или в PHP не хватило памяти.Использование getData или debug безопаснее, но, как вы видели, не возвращает защищенные / приватные переменные.

2 голосов
/ 17 октября 2015

Получить элементы корзины, используя getQuote () метод

$cart = Mage::getModel('checkout/cart')->getQuote()->getItemsCollection();
echo "<pre>";
print_r($cart->getData());

Получить товары в корзине без getQuote () метод

$cart = Mage::getModel('checkout/cart')->getItems();
echo "<pre>";print_r($cart->getData());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...