我想知道如何在订单中获得唯一数量的产品
我已经尝试过这些(在 /renderer/default.phtml 中):
$_order = $this->getOrder();
$qnt = round($_order->getData('total_qty_ordered'), 0); 但这会返回产品总数,我只需要不同产品的总数。
谢谢!
问题是一个订单可能包含许多产品。因此,产品的数量不是在订单级别分配,而是在项目级别分配。你可以得到如下:
$_order = $this->getOrder();
foreach ($_order->getAllItems() as $items){
$qty = $items->getQty();
}
您可以通过加载订单的可见项目来获取不同产品的数量(由于Magento存储了两个可配置产品的订单项目,一个用于父级,一个用于子级,因此这种情况下此方法仅提供一个项目)并计算数组条目的数量。
例如以这种方式:
$_order = $this->getOrder();
$qnt = count($_order->getAllVisibleItems());