Magento 创建帐户并将产品放入购物车后重定向到结帐
我有一个特殊情况,用户必须通过帐户注册页面(例如/customer/account/create/)注册帐户。完成后,如果他们的购物车中有产品,我需要将他们重定向回结帐屏幕 我目前有一名观察员,负责收听Magento 创建帐户并将产品放入购物车后重定向到结帐,magento,Magento,我有一个特殊情况,用户必须通过帐户注册页面(例如/customer/account/create/)注册帐户。完成后,如果他们的购物车中有产品,我需要将他们重定向回结帐屏幕 我目前有一名观察员,负责收听客户注册成功事件。观察员通过以下代码将用户帐户升级为成员组: class Hatclub_MembershipHandler_Model_Observer { // members group id const GROUP_ID = 4; // called when
客户注册成功
事件。观察员通过以下代码将用户帐户升级为成员组:
class Hatclub_MembershipHandler_Model_Observer {
// members group id
const GROUP_ID = 4;
// called when a customer registers for the site
public function registrationSuccess(Varien_Event_Observer $observer) {
// extract customer data from event
$customer = $observer->getCustomer();
// a cookie should have been set with the membership id
if (isset($_COOKIE['membership_account_id'])) {
$customer
->setGroupId(self::GROUP_ID)
->setRmsId($_COOKIE['membership_account_id']);
}
return $this;
}
}
有没有其他更适合我的活动?我有一个重定向到cookie的方法,如果有帮助的话也可以使用。经过多次尝试和错误,我找到了一个解决方案。由于我已经在使用
customer\u register\u success
事件并与我的观察者一起修改用户数据,因此我不得不在之后使用另一个名为customer\u save\u的事件,它起到了很好的作用
config.xml事件块
<customer_save_after>
<observers>
<customer_session_observer>
<class>hatclub_membership_handler/observer</class>
<method>customerSave</method>
<type>singleton</type>
</customer_session_observer>
</observers>
</customer_save_after>
观察者内部的重定向有点困难,但我使用
Mage::app()->getResponse()
->setHeader('Location', $redirect_url)
->sendHeaders();
欢迎提出建议和批评
Mage::app()->getResponse()
->setHeader('Location', $redirect_url)
->sendHeaders();