Magento如何自动将追踪号码添加到订单中

问题描述:

我想自动将发票的最后4位数字(如果存在)添加为每个订单的追踪号码。我怎么做?谢谢Magento如何自动将追踪号码添加到订单中

当您创建货件时,请使用自定义模块的观察者动态分配跟踪编号。见下文。

config.xml中

<sales_order_shipment_save_before> 
    <observers> 
     <namespace_modulename_ship_before> 
      <type>singleton</type> 
      <class>Namespace_Modulename_Model_Observer</class> 
      <method>salesOrderShipmentSaveBefore</method> 
     </namespace_modulename_ship_before> 
    </observers> 
</sales_order_shipment_save_before> 

Observer.php

public function salesOrderShipmentSaveBefore($observer) 
{ 
    $invoice = $observer->getEvent()->getInvoice(); 
    $last4 = substr($invoice->getIncrementId(), -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); 
} 

信用:http://ka.lpe.sh/2012/01/08/magento-save-shipment-information-tracking-number-carrier-code-programatically/

+0

你能或许能给我如何创建模块链接:|仍然需要在那里工作 – HWR 2013-04-29 12:18:17

+0

在这里你将需要3个文件..一个在应用程序/ etc/modules /用于注册你的自定义模块,第二个在你的本地/命名空间/模块/ etc/ie config.xml我写上面,第三个本地/命名空间/模块/模型/您的观察员我写上面..链接学习创建模块http://*.com/questions/576908/how-to-create-a-simple-hello-world-module-in- Magento的 – Kalpesh 2013-04-29 13:09:08