我将 Magento 用于客户的商店,他们有一个他们使用的 CRM (Hubspot)。他们的要求是,当客户通过他们的一站式结账页面进行购买时,输入的联系信息也会发送到他们的 CRM。
表单动作和诸如此类的东西不是我想要的。相反,我希望有人可以概述我将如何获取他们在结账时输入的信息。我是否需要有一个成功页面并将代码添加到该成功页面?
谢谢!
我将 Magento 用于客户的商店,他们有一个他们使用的 CRM (Hubspot)。他们的要求是,当客户通过他们的一站式结账页面进行购买时,输入的联系信息也会发送到他们的 CRM。
表单动作和诸如此类的东西不是我想要的。相反,我希望有人可以概述我将如何获取他们在结账时输入的信息。我是否需要有一个成功页面并将代码添加到该成功页面?
谢谢!
您可以使用该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);
你应该能够从那里提取你需要的东西。
嗯!
假设您正在使用他们的 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/
}
}
学习如何使用观察者创建自定义模块