2

我正在努力使我们的装箱单和发票更有用,尤其是当我们捆绑产品时。

如何在发票中只显示父项而不显示子项?

当我使用时,$order->getAllItems()我在输出中得到两行:

parent-child sku

child sku

如果我使用$order->getAllVisibleItems()我只会得到父母,这就是我想要的。

Parent sku

现在 invoice->getAllItemswith 产生两条线 Parent-Child 和 Child 但是invoice->getAllVisibleItemswith 不产生线

所以它会在发票上显示 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' ; };
?>
4

1 回答 1

1

仅使用$invoice->getAllVisibleItems()和订单使用$order->getAllVisibleItems()

只是一句忠告,试着用get_class_method, get_class,get_class_vars来熟悉一门课程。

于 2012-09-27T12:11:27.550 回答