如何获得要装运的物品数量,包括每件捆绑产品,并考虑退款项目?
我尝试使用这个公式: 有序退还抵消
这适用于简单的产品,但不适用于与捆绑产品相关联的简单产品。
我们举一个例子。
1客户订购此:
简易产品A * 10
捆绑产品B * 10
产品A
产品C
客户无法选择捆绑产品的数量,因此意味着还有10个A + 10 C. 产品A既可以单独出售,也可以作为捆绑产品B的一部分出售。
我的客户要求提供一份报告,显示每个订单的每个简单产品的数量,单独显示以检查其库存,因此显示此订单:
产品A * 20 <=注意,因为它也是捆的一部分
产品C * 10
效果很好。 但是,假设我退还了1件独立产品A和3件捆绑产品
现在订单:
简易产品A * 9(减1))
捆绑产品B * 7(减3)
----产品A
----产品C
但报告显示了
产品A * 18(!!而不是16)
产品C * 9(!!而不是7)
这是因为订单的商品对象链接包含奇怪的信息。 简单的产品没有链接到捆绑,没关系 例如,我有独立产品A: 订购:10 退款:1&lt; =(如果我退款3我会有3)
但是随着简单的产品链接到捆绑,magento总是退还1退款,无论你退还多少!
所以我有这个:
产品A(链接到捆绑)
订购:10
退款:1
虽然它应该是:
订购:10
退款:3
和链接到捆绑产品C的产品C具有相同的含义:
订购:10
退款:1
虽然它应该是:
订购:10
退款:3
所以我想知道如何解决这个问题,以及如何在项目的级别(而不是在包的级别)检索正确的信息,正确的数量。
一个选项可以是检索链接到捆绑包的退款数量并将其应用于每个项目,但这仅适用于用户无法更改数量的捆绑... 而且我不确定如何检索这个
你已经面对这个了吗?你会怎么做?感谢
答案 0 :(得分:0)
通过执行相反的方式找到它 \ app \ design \ adminhtml \ base \ default \ template \ bundle \ sales \ order \ view \ items \ renderer.phtml
这是后台使用的文件(订单明细视图),以显示已订购/已退款/已开票项目的清单。
我可以使用canShowPriceInfo($ item)方法,如果为true则我可以依赖退款值,否则我不能和我必须使用父项的退款值!!
我把它放在我的代码中,构建一份包含产品的报告:
$qtyRefunded=$orderItem->getQtyRefunded();> if($orderItem->getParentItem() && !$this->canShowPriceInfo($orderItem)) $qtyRefunded=$orderItem->getParentItem()->getQtyRefunded();