Получить количество товаров в заказе

я хотел бы знать, как получить уникальное количество товаров в заказе

я пробовал это (в /renderer/default.phtml):

$_order = $this->getOrder();    

$qnt = round($_order->getData('total_qty_ordered'), 0); но это возвращает общее количество продуктов, и мне нужно только общее количество разных продуктов.

Спасибо!


person user2402942    schedule 13.01.2015    source источник
comment
после размещения заказа вам нужна эта информация   -  person saravanavelu    schedule 13.01.2015


Ответы (2)


Проблема в том, что в заказе может быть много товаров. Следовательно, количество продукта не назначается на уровне заказа, а назначается на уровне позиции. Вы можете получить это, как показано ниже:

$_order = $this->getOrder();
foreach ($_order->getAllItems() as $items){
$qty = $items->getQty();
}
person frondenova    schedule 13.01.2015
comment
привет, теперь результат: 0. - person user2402942; 13.01.2015

Вы можете получить количество различных продуктов, загрузив видимые элементы заказа (поскольку Magento хранит два элемента заказа для настраиваемых продуктов, один для родительского и один для дочернего, этот метод предоставляет только один элемент в таких случаях) и подсчитать количество элементов массива.

Например таким образом:

$_order = $this->getOrder();
$qnt = count($_order->getAllVisibleItems());
person HelgeB    schedule 21.02.2019