Opencart 登录后登录到上一个查看的页面?
有人知道可以做到这一点的方法吗?正在开发版本 1.5.4
希望有人可以建议/帮助!
Thanks!
为了实现这个场景:
- 用户单击登录链接。
- 用户填写登录表单并单击提交按钮。
- 他登录后,您希望他重定向到他单击“登录”链接的页面。
你必须编辑catalog/controller/account/login.php
控制器。紧接着添加这个public function index() {
line:
if(!isset($this->session->data['login_redirect'])
&& (strpos($_SERVER['HTTP_REFERER'], HTTP_SERVER) !== false
|| strpos($_SERVER['HTTP_REFERER'], HTTPS_SERVER) !== false)) {
$this->session->data['login_redirect'] = $_SERVER['HTTP_REFERER'];
}
请明智地$_SERVER['HTTP_REFERER'] https://stackoverflow.com/questions/6023941/how-reliable-is-http-referer可能不包含任何 URL,具体取决于所使用的 HTTP 服务器和/或浏览器,因此这可能无法始终有效(并且没有其他机会检索用户来自的 URL)。
现在在同一个文件中找到以下行:
$this->redirect($this->url->link('account/account', '', 'SSL'));
(应该是第59行,我的版本是1.5.5.1)并将其更改为:
if(!empty($this->session->data['login_redirect'])) {
$url = $this->session->data['login_redirect'];
unset($this->session->data['login_redirect']);
$this->redirect($url);
} else {
$this->redirect($this->url->link('account/account', '', 'SSL'));
}
这在大多数情况下应该有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)