Я хочу получить коллекцию всех предметов в корзине на данный момент.
Как я могу это сделать ? Любые предложения будут оценены.
magento-1.7
cart
collection
quote
Sukeshini
источник
источник
Ответы:
у
$cart
вас есть вся коллекция товаров в корзине, и если вы хотите получить идентификатор продукта, имя, которое вы можете получить с помощью цикла foreachисточник
Я нашел другое решение. Следующий код работает для меня.
источник
$item->getProduct()
... Каждый раз, когда вы думаете об использовании -> load () в magento, вы можете рассчитывать на плохую производительность, иногда нет других вариант на самом деле, но это не тот случай, здесь ..Есть несколько методов, которые работают по-другому:
Возвращает коллекцию элементов цитаты со всеми элементами, связанными с текущей цитатой.
Это ярлык для метода выше, но если нет кавычек, он возвращает пустой массив, поэтому вы не можете рассчитывать на получение экземпляра коллекции.
Загружает коллекцию элементов, затем возвращает массив всех элементов, которые не помечены как удаленные (т.е. были удалены в текущем запросе)
Загружает коллекцию элементов, затем возвращает массив всех элементов, которые не помечены как удаленные И не имеют родителя (т.е. вы получаете элементы для связанных и настраиваемых продуктов, но не связанные с ними дочерние элементы). Каждый элемент массива соответствует отображаемой строке на странице корзины.
Выберите то, что соответствует вашим потребностям лучше всего. В большинстве случаев последний метод - это то, что вам нужно, но, к сожалению, Magento предоставляет его только как массив, а не как коллекцию.
Обратите внимание, что
Mage::getSingleton('checkout/cart')->getQuote()
иMage::getSingleton('checkout/session')->getQuote()
являются взаимозаменяемыми.источник
лучший способ получить весь товар в корзину
источник
Ниже приведен код для получения товаров в корзине
источник