duanju8308 2014-12-14 23:09
浏览 45

在后端管理面板订单中获取客户详细信息

What I have done:

I have few custom calculations to be done after placing an order for the customer in magento admin panel. I have hooked on to sales_order_save_after event inside tab inside my module's config.xml .

The Problem:

I need to get the customer_id of the actual customer for whom the order is been placed on the backend. How can this be done?

$_customer = Mage::getSingleton('customer/session')->getCustomer();
$customer_id=$_customer->getId(); 

The above will give me the customer_id in case of front end, I need a way to get the customer's id when ordering from backend.

In case, the event "adminhtml_sales_order_create_process_data", is what I need to hook on, do let me know. because I am also kind of confused about which event to hook on.

Help me out.

  • 写回答

2条回答 默认 最新

  • douruye5092 2014-12-17 04:30
    关注

    Please use this event sales_order_place_after. And in your code, you might get the customer id like this:

    public function hookSalesOrderPlaceAfter(Varien_Event_Observer $observer) {
       $order = $observer->getEvent()->getOrder();
       $customer_email = $order->getCustomerEmail();
       $website_id = Mage::app()->getStore()->getWebsiteId();
       $customer = Mage::getModel('customer/customer')->setWebsiteId($website_id)->loadByEmail($customer_email);
       ...
    }
    

    Hope it will help you.

    评论

报告相同问题?