Magento - 从订单表中发送联系信息

时间:2013-02-27 15:56:59

标签: magento

我正在使用Magento作为客户的商店,他们使用的是CRM(Hubspot)。他们的要求是,当客户通过他们的一步结账页面进行购买时,输入的联系信息也会发送到他们的CRM。

表单动作以及其他不是我正在寻找的东西。相反,我希望有人可以概述我将如何获取他们在结账时输入的信息。我是否需要有一个成功页面并将代码添加到该成功页面?

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以使用app/design/frontend/base/default/template/checkout/success.phtml页面。首先,将其复制到您自己的包装和主题。然后你可以使用这样的东西:

$customerId = Mage::getSingleton('customer/session')->getCustomerId();
$customerData = Mage::getModel('customer/customer')->load($customerId)->getData();
var_dump($customerData);

你应该能够从那里拉出你需要的东西。

HTH!

答案 1 :(得分:0)

假设您正在使用他们的REST Api @ http://developers.hubspot.com/docs/methods/contacts/create_contact

您可以将您的api帖子添加到app/design/frontend/base/default/template/checkout/success.phtml(只会向从前端下订单的客户发送信息给crm而不是来自管理员)

你也可以创建一个观察者

在config.xml中

    <events>
        <sales_order_place_after>
            <observers>
                <hubspot_create_customer_api>
                    <type>singleton</type>
                    <class>hubspotApi/observer</class>
                    <method>createCustomer</method>
                </hubspot_create_customer_api>
            </observers>
        </sales_order_place_after>

在你的observer.php

class MageIgniter_HubspotApi_Model_Observer 
{

    public function createCustomer($event)
    {
        //$_order = $event->getOrder();
        //$_order->getCustomerFirstname();
        print_r($_order->getBillingAddress()); //get customer billing info
        print_r($_order->getBillingAddress()->getFirstname()); 

       //make curl call to post info to api
       //see http://mydons.com/using-curl-functions-in-magento-way/

    }
}

了解如何create an custom module with an observer