2013-05-06 82 views
0

我試圖建立一個獲取發票號碼的Magento模塊。主要的問題是我得到一個致命錯誤:在第19行($ invoice creation line)的非對象...上調用成員函數getIncrementId()。我的功能是:Magento獲得發票號碼

$invoice = $observer->getEvent()->getInvoice()->getIncrementId(); 
    $last4 = substr($invoice, -4); 

    $shipment = $observer->getEvent()->getShipment(); 
    $track = Mage::getModel('sales/order_shipment_track') 
      ->setNumber($last4) //tracking number/awb number 
      ->setCarrierCode('custom') //carrier code 
      ->setTitle('Custom'); //carrier title 
    $shipment->addTrack($track); 
+0

您需要說明您正在觀察的事件。 – butterbrot 2013-05-06 08:47:53

+0

sales_order_shipment_save_before – HWR 2013-05-06 08:51:15

+0

它只有發貨,你可以嘗試使用'$ shipment-> getOrder() - > getInvoiceCollection() - > getLastItem();'或者首先發票你喜歡什麼。 – butterbrot 2013-05-06 09:01:57

回答

0

嘗試用這種

$invoice = $observer->getEvent()->getOrder()->getIncrementId(); 

更換的第一行代碼使用getInvoice()方法來獲取訂單,可以返回null,這將給你你有錯誤第19行。