如何在登录到特定页面后重定向,该页面取决于在magento中单击登录页面?我知道重定向会在AccountController.php
中发生。但是如何获取客户登录页面的链接。我有两个不同的登录页面。
答案 0 :(得分:10)
这实际上非常简单。您所要做的就是在您正在进行登录的页面上的某处插入下一个代码。
Mage::getSingleton('customer/session')->setBeforeAuthUrl(Mage::getUrl('*/*/*'));
它的作用 - 它将变量设置为客户会话,其中包含引荐来源页面的URL。如果设置了变量,AccountController
会在登录后将该页面发回给您。
以为我可能需要编辑帖子,因为信息不完整。正如我前段时间所了解的,实际上有两个会话密钥在登录后统治“返回/重定向”的逻辑:
before_auth_url
:如果他的登录名/密码未通过验证,则应将此设置为页面,您希望用户查看after_auth_url
:这是您希望用户在成功登录后重定向到的网址现在上述解决方案有效,因为如果未设置前者,Magento会自动设置after_auth_url
= before_auth_url
。
以下是快速示例:您在Checkout上有登录表单。因此,您希望用户在登录后重定向回Checkout。但您不希望用户在未输入有效凭据的情况下被重定向回结帐。而不是你希望他们留在登录页面,所以他们有能力请求忘记密码电子邮件或重新注册。一旦他们能够登录,您希望他们回到Checkout。
与用例听起来一样复杂,它实际上很容易实现,并且还没有在Magento Checkout中完成。所以这就是你需要设置的内容:
Mage::getSingleton('customer/session')
->setBeforeAuthUrl(Mage::getUrl('customer/account/login'));
Mage::getSingleton('customer/session')->setAfterAuthUrl(Mage::getUrl('*/*/*'));
那是所有人:)
答案 1 :(得分:0)
请检查一下。我想这就是你想要的。(MAGENTO 1.7)
登录Magento Admin。
转到系统 - >配置 - >客户配置 - >登录选项。
在下拉菜单中,可以选择在客户登录后重定向客户。
即。登录后是否将客户重定向到帐户控制面板。