2015-07-22 51 views

回答

2

为此,您需要创建一个模块。那就是:

app/etc/modules/Tech_Order.xml

<?xml version="1.0" encoding="UTF-8"?> 
<config> 
    <modules> 
     <Tech_Order> 
      <active>true</active> 
      <codePool>community</codePool> 
     </Tech_Order> 
    </modules> 
</config> 

创建模块配置文件app/code/community/Tech/Order/etc/config.xml。具体如下:

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Tech_Order> 
      <version>1.0.0</version> 
     </Tech_Order> 
    </modules> 
    <global> 
     <events> 
      <sales_order_place_after> 
       <observers> 
        <order_capture> 
         <type>singleton</type> 
         <class>Tech_Order_Model_Observer</class> 
         <method>captureOrder</method> 
        </order_capture> 
       </observers> 
      </sales_order_place_after>   
     </events> 
    </global> 
</config> 

创建观察文件捕获为了app/code/community/Tech/Order/Model/Observer.php

class Tech_Order_Model_Observer { 

    public function captureOrder(Varien_Event_Observer $observer) { 

     $_order  = $observer->getEvent()->getOrder(); 
     $orderObj = Mage::getModel("sales/order")->load($_order->getId()); 

     $orderId = $_order->getRealOrderId(); 
     $items  = $orderObj->getAllItems(); 

     $billingAddress = $_order->getBillingAddress(); 
     $shipingAddress = $_order->getShippingAddress(); 

     foreach($items as $item) { 
      $sku = $item->getData('sku'); 
      $qty  = (int) $item->getQtyOrdered(); 
      $price  = $item->getprice(); 
     } 

     Mage::log('Order Data -- ' . $orderObj->getData());  
     Mage::log('Billing Address -- '. $billingAddress->getData());  
     Mage::log('Shipping Address -- '. $shipingAddress->getData());  

    } 
} 

captureOrder是温控功能,你可以捕捉的顺序存放的所有信息,并保存在数据库中。

+0

感谢Pankaj,但我们如何将数据保存到另一个数据库(而不是magen)中? – ashu

+0

你可以使用核心的mysql功能将数据保存到另一个数据库中,或者你也可以使用zend函数 –

相关问题