Authentication Magento 1-如何在登录后重定向上一页
我使用的是Magento 1.9。*我想在用户成功登录后重定向上一页。我找到了一个解决方案 为此,请执行以下步骤 打开Authentication Magento 1-如何在登录后重定向上一页,authentication,magento,magento-1.9,Authentication,Magento,Magento 1.9,我使用的是Magento 1.9。*我想在用户成功登录后重定向上一页。我找到了一个解决方案 为此,请执行以下步骤 打开header.phtml将此代码添加到文件顶部 if(!Mage::helper('customer')->isLoggedIn()) { $loginback=$this->helper('core/url')->getCurrentUrl(); $check=strstr($loginback, 'customer/account/login'); i
header.phtml
将此代码添加到文件顶部
if(!Mage::helper('customer')->isLoggedIn()) {
$loginback=$this->helper('core/url')->getCurrentUrl();
$check=strstr($loginback, 'customer/account/login');
if(!strlen($check)){
Mage::getSingleton('core/session')->setLoginBackUrl($loginback);
}
}
将/app/code/core/Mage/Customer/controllers
覆盖到本地或自定义模块并添加此功能
protected function _loginPostRedirect()
{
$session = $this->_getSession();
$backUrlcustom=Mage::getSingleton('core/session')
->getLoginBackUrl();
if(isset($backUrlcustom) && $backUrlcustom !=""){
$session->setBeforeAuthUrl($backUrlcustom);
}
$this->_redirectUrl($session->getBeforeAuthUrl(true));
}
这对我来说很有用。为此,配置设置需要是
系统->配置->客户->客户配置->登录选项集:登录后将客户重定向到帐户仪表板=否
但还有一些工作要做。请检查您提到的核心控制器/app/code/core/Mage/Customer/controllers/AccountController.php
class\u loginPostRedirect
方法,检查if($referer){
部分。这就是您需要去的地方
因此,在任何类中都不需要更改任何内容。
只需在登录表单phtml的
标记中添加以下代码
<?php if (!Mage::getStoreConfigFlag(
Mage_Customer_Helper_Data::XML_PATH_CUSTOMER_STARTUP_REDIRECT_TO_DASHBOARD
)) { ?>
<input name="referer" type="hidden" value="<?php echo Mage::helper('core')->urlEncode(Mage::getBaseUrl()); ?>" />
<?php } ?>
Dhrumin和Sandipan的解决方案可以工作,但我不想覆盖核心类,我需要一个登录和重定向的解决方案。对于magento 1.9.x,似乎我们唯一要做的就是设置使用者会话的变量“BeforeAuthUrl”。登录和注册方法都重定向到此url(如果存在)。我将此代码段放在我的头中。phtml:
if (!Mage::helper('customer')->isLoggedIn()) {
$loginback = $this->helper('core/url')->getCurrentUrl();
$checkLogin = strstr($loginback, 'customer/account/login');
$checkRegister = strstr($loginback, 'customer/account/create');
if (!strlen($checkLogin) && !strlen($checkRegister) ) {
Mage::getSingleton('customer/session')->setBeforeAuthUrl($loginback);
}
}
你尝试过什么?你遇到过任何错误吗?你有什么要分享的吗?基于“我想要这个”我们帮不了你键入statementHi@m_callens,我尝试在主页上重定向,但我需要重定向最后一页,例如用户在购物车页面上打开登录页面,然后成功登录,然后它重定向购物车页面而不是我的帐户页面。知道我能做什么吗?我能用会话管理吗???请让我知道你是否理解并有任何想法。此解决方案从2018年8月起,n是最快捷、最简单的方式
<?php if (!Mage::getStoreConfigFlag(
Mage_Customer_Helper_Data::XML_PATH_CUSTOMER_STARTUP_REDIRECT_TO_DASHBOARD
)) { ?>
<input name="referer" type="hidden" value="<?php echo Mage::helper('core')->urlEncode(Mage::helper('core/http')->getHttpReferer()); ?>" />
<?php } ?>
if (!Mage::helper('customer')->isLoggedIn()) {
$loginback = $this->helper('core/url')->getCurrentUrl();
$checkLogin = strstr($loginback, 'customer/account/login');
$checkRegister = strstr($loginback, 'customer/account/create');
if (!strlen($checkLogin) && !strlen($checkRegister) ) {
Mage::getSingleton('customer/session')->setBeforeAuthUrl($loginback);
}
}