我使用的Magento建立一个电子商务网站。 目前,如果一个新的用户注册该网址被重定向到我的帐户页面。 我想一旦新用户注册我的网站显示的主页。
引导我做到这一点。
提前致谢
我使用的Magento建立一个电子商务网站。 目前,如果一个新的用户注册该网址被重定向到我的帐户页面。 我想一旦新用户注册我的网站显示的主页。
引导我做到这一点。
提前致谢
打开账户控制器和添加代码$ successUrl =法师:: getBaseUrl(); 前行返回$ successUrl; 在函数_welcomeCustomer()
虽然这是一个旧的文章,我觉得敦促这里提供了一个新的答案,因为许多其他的答案公然不遵守Magento的最佳实践(例如:直接修改内核文件)或(虽然它的工作),他们不必要重写客户账户控制器。
下面的解决方案是通过使用观察者类的完全执行的代替。 这样,才能确保您的逻辑这样做不是通过升级Magento的(如果你有直接修改的核心类文件),也应该Magento的核心开发团队曾经选择调整失去Mage_Customer_AccountController::createPostAction
方法这些变化将在当你被带到升级你的网站(不会有你重写控制器类文件)。
在下面的步骤,创建任何目录,需要创建提到的文件。
第1步:定义模块
应用程序的/ etc /模块/ Stackoverflow_Question10470629.xml
<?xml version="1.0"?>
<config>
<modules>
<Stackoverflow_Question10470629>
<codePool>local</codePool>
<active>true</active>
</Stackoverflow_Question10470629>
</modules>
</config>
第2步:定义你的模块配置
应用程序/代码/本地/#1 / Question10470629的/ etc / config.xml中
<?xml version="1.0"?>
<config>
<modules>
<Stackoverflow_Question10470629>
<version>1.0.0</version>
</Stackoverflow_Question10470629>
</modules>
<global>
<models>
<stackoverflow_question10470629>
<class>Stackoverflow_Question10470629_Model</class>
</stackoverflow_question10470629>
</models>
</global>
<frontend>
<events>
<controller_action_postdispatch_customer_account_createPost>
<observers>
<stackoverflow_question10470629>
<type>singleton</type>
<class>stackoverflow_question10470629/observer_frontend</class>
<method>controllerActionPostdispatchCreatePostAction</method>
</stackoverflow_question10470629>
</observers>
</controller_action_postdispatch_customer_account_createPost>
<customer_register_success>
<observers>
<stackoverflow_question10470629>
<type>singleton</type>
<class>stackoverflow_question10470629/observer_frontend</class>
<method>customerRegisterSuccess</method>
</stackoverflow_question10470629>
</observers>
</customer_register_success>
</events>
</frontend>
</config>
第3步:定义您的观察器类
应用程序/代码/本地/#1 / Question10470629 /型号/观察员/ Frontend.php
<?php
/**
* All publicly accessible method names correspond to the event they observe.
*
* @category Stackoverflow
* @package Stackoverflow_Question10470629
*/
class Stackoverflow_Question10470629_Model_Observer_Frontend
{
/**
* @param Varien_Event_Observer $observer
*/
public function customerRegisterSuccess($observer)
{
/* @var $session Mage_Customer_Model_Session */
$session = Mage::getSingleton('customer/session');
// This event occurs within Mage_Customer_AccountController::createPostAction
// however it occurs before the controller sets it's own redirect settings.
// Therefore we set this flag to true now, and then within the postdispatch
// we'll redirect to our custom URL
$session->setData('customer_register_success', true);
}
/**
* @param Varien_Event_Observer $observer
*/
public function controllerActionPostdispatchCreatePostAction($observer)
{
/* @var $controller Mage_Customer_AccountController */
/* @var $session Mage_Customer_Model_Session */
$session = Mage::getSingleton('customer/session');
// We must test for a successful customer registration because they
// could have failed registration despite reaching postdispatch
// (for example: they used an existing email address)
if ($session->getData('customer_register_success')) {
$session->unsetData('customer_register_success');
$url = Mage::getBaseUrl();
$controller = $observer->getData('controller_action');
$controller->getResponse()->setRedirect($url);
}
}
}
重定向后登录,注销,注册很常见的问题在Magento。 请从下面的代码,它可以帮助你。
public function customerRegistration(Varien_Event_Observer $observer)
{
$_session = Mage::getSingleton('customer/session');
$_session->setBeforeAuthUrl(CustomUrl);
}
Customurl是要在其上registraion后重定向的URL。
如果你想为你的电子商务网站自定义URL重定向的完整解决方案登录,注销和注册之后。 自定义重定向扩展可以帮助你。 点击链接以获取扩展。 http://www.magentocommerce.com/magento-connect/custom-redirection.html
检查第一,如果后端rettings登录后用户重定向是你所需要的。 进入系统> Configurarion>下的客户端选项卡 - 客户端配置>登录选项>选择否
默认功能是将用户重定向到他在登录之前访问的最后一个/当前页面。 在我看来,这应该是有用的,如果你有什么客户最终确定谁使他的行动和登录产品的交易。
使用下面的代码在客户账户控制器
查找功能_successProcessRegistration和
更换$url = $this->_welcomeCustomer($customer); // line 350
$url = $this->_welcomeCustomer($customer); // line 350
随着$url = Mage::getBaseUrl();
您可以为客户重定向到您想要的页面重载的AccountController。
如果你需要一个现成的解决方案,它的伟大工程,那么你可以尝试以下扩展名:
http://www.magepsycho.com/custom-login-redirect-pro.html
转到您的客户的AccountController:
aap->core->code->Mage->customer->controllers->AccountController.php
然后搜索_welcomeCustomer()
函数
替换此代码:
$successUrl = $this->_getUrl('*/*/index', array('_secure' => true));
附: $successUrl = Mage::getBaseUrl();
这$successUrl
将登记后返回用户的主页。