如何在登录到特定页面后重定向,该页面取决于在magento中单击登录页面?我知道重定向会发生AccountController.php.但是如何获取客户登录页面的链接.我有两个不同的登录页面.
Sla*_*den 10
这实际上非常简单.您所要做的就是在您登录的页面上的某处插入下一个代码.
Mage::getSingleton('customer/session')->setBeforeAuthUrl(Mage::getUrl('*/*/*'));
Run Code Online (Sandbox Code Playgroud)
它的作用 - 它将变量设置为Customer会话,该会话保存referrer页面的url.AccountController如果设置了变量,则会在登录后将该页面发回给该页面.
只是想我可能需要编辑帖子,因为信息不完整.正如我前段时间所了解的,实际上有2个会话密钥在登录后统治"返回/重定向"的逻辑:
before_auth_url:这应该设置为页面,您希望用户看到,如果他的登录名/密码没有通过验证after_auth_url:这是您希望用户在成功登录后重定向到的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('*/*/*'));
Run Code Online (Sandbox Code Playgroud)
这是所有人:)
| 归档时间: |
|
| 查看次数: |
4093 次 |
| 最近记录: |