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