gpt4 book ai didi

magento - 如何在登录后重定向到特定页面,该页面取决于在magento中单击登录的页面?

转载 作者:行者123 更新时间:2023-12-02 13:58:08 24 4
gpt4 key购买 nike

登录后如何重定向到特定页面,该页面取决于在magento中单击登录的页面?我知道 AccountController.php 中发生了重定向。但是如何从客户登录的位置获取页面的链接。我有两个不同的登录页面。

最佳答案

这实际上很简单。您所要做的就是在您要登录的页面上的某个位置插入下一个代码。

Mage::getSingleton('customer/session')->setBeforeAuthUrl(Mage::getUrl('*/*/*'));

它的作用 - 将变量设置为 Customer session ,该 session 保存引用页面的 url。如果设置了该变量,AccountController 将在登录后将您带回该页面。

更新

只是想我可能需要编辑帖子,因为信息不完整。正如我前段时间了解到的,实际上有 2 个 session key 控制登录后“返回/重定向”的逻辑:

  • before_auth_url:这应该设置为您希望用户看到的页面(如果他的登录名/密码尚未通过验证)
  • after_auth_url:这是您希望用户在成功登录后重定向到的网址

现在上面的解决方案有效了,因为如果未设置 after_auth_url = before_auth_url,Magento 会自动设置前者。

这是一个简单的示例:您在 Checkout 上有登录表单。因此,您希望用户在登录后重定向回 Checkout。但是您不希望用户在未能输入有效凭据时被重定向回 Checkout。而不是您希望他们留在登录页面上,这样他们就可以请求忘记密码电子邮件或重新注册。一旦他们能够登录,您希望他们返回 Checkout。

尽管该用例听起来很复杂,但实际上实现起来非常简单,而且 Magento Checkout 中尚未完成。因此,您需要设置以下内容:

Mage::getSingleton('customer/session')
->setBeforeAuthUrl(Mage::getUrl('customer/account/login'));
Mage::getSingleton('customer/session')->setAfterAuthUrl(Mage::getUrl('*/*/*'));

这就是所有的人:)

关于magento - 如何在登录后重定向到特定页面,该页面取决于在magento中单击登录的页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12601517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com