我想在 Magento 1.9 中成功注册后将所有客户重定向到自定义页面。
我已经尝试了很多事情。首先,我成功地覆盖了核心客户帐户控制器。
我尝试自定义以下操作:
- 创建后动作
- _successProcessRegistration
- _welcome客户
通过尝试设置重定向 url 或通过设置 BeforeAuthUrl
//$successUrl = $this->_getUrl('*/*/index', array('_secure' => true));
$successUrl = $this->_getUrl('*/*/success');
$this->_getSession()->setBeforeAuthUrl('http://test.local/customer/account/success/');
if ($this->_getSession()->getBeforeAuthUrl()) {
$successUrl = $this->_getSession()->getBeforeAuthUrl(true);
}
return $successUrl;
请注意,此时 $successUrl 返回此处时是正确的。我看到有一些 post Dispatch 方法,我假设这些方法正在破坏此 url 并始终返回到 customer/account/index。
我已经阅读了有关该主题的几篇文章,但找不到解决该问题的明确答案。
我什至设置了隐藏的表单元素“success_url”,试图按照其他地方提供的步骤作为解决方案。
为了能够显示一次性注册成功页面,需要遵循什么完整、正确的流程?
我知道这是一个旧线程,也许这会帮助其他人尝试完成同样的事情。您可以直接在register.phtml模板中设置重定向URL,而无需修改控制器或创建模块。您可以像这样使用隐藏输入设置成功和错误 URL。
<input type="hidden" name="success_url" value="my-custom-success-url.html" />
<input type="hidden" name="error_url" value="my-custom-error-url.html" />
我用它来将用户重定向回他们输入登录/注册过程的位置,如下所示:
<?php $ref = $this->getRequest()->getParam('referer');?>
<input type="hidden" name="success_url" value="<?php echo !empty($ref)?Mage::helper('core')->urlDecode($ref):$this->getSuccessUrl(); ?>" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)