我正在努力使我们的装箱单和发票更有用,尤其是当我们捆绑产品时。
如何在发票中只显示父项而不显示子项?
当我使用时,$order->getAllItems()
我在输出中得到两行:
parent-child sku
child sku
如果我使用$order->getAllVisibleItems()
我只会得到父母,这就是我想要的。
Parent sku
现在 invoice->getAllItems
with 产生两条线 Parent-Child 和 Child 但是invoice->getAllVisibleItems
with 不产生线
所以它会在发票上显示 qty 和 amt 两次。对客户或包装商不利。
<?php
require_once '../mage1/app/Mage.php';
require_once('Zend/Pdf.php');
$app = Mage::app();
Mage::register('isSecureArea', true);
$orderId = '500000555' ;
$order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
foreach ($order->getAllVisibleItems() as $item){
echo 'ITEM: ' . $item->getSku() . '<br />';
}
//vs invoice
echo 'Invoice Section <br />' ;
if ($order->hasInvoices()) {
echo 'Order has invoices' . '<br />';
foreach ($order->getInvoiceCollection() as $_eachInvoice) {
foreach ($_eachInvoice->getAllVisibleItems as $invitem){
//foreach ($_eachInvoice->getAllItems() as $invitem){
//echo 'Object <br />';
var_dump(get_object_vars($invitem));
//print_r($invitem); echo '<br /><br /><br /><br />';
echo 'INVOICE ITEM: ' . $invitem->getSku() . '<br />';
}
}
} else { echo 'no invoices' ; };
?>