Перенаправить пользователей на последнюю посещенную страницу после входа с компонента

В Joomla 3.5.1 я хочу перенаправить пользователей на страницу, перед которой они вошли.

Если они заходят из mod_login, нет проблем, так как модуль ожидает от верхнего меню, они просто остаются на этой странице.

Проблема возникает, когда пользователи вступают в систему с помощью компонента: они всегда перенаправляются на страницу профиля.

В пункте меню index.php?option=com_users&view=login есть возможность перенаправить пользователей после входа в систему.

Но как я могу сказать: «Get them back to the page they were before»?

Некоторые компоненты добавляют что-то вроде:

?return=L2YlQzMlQjNydW0tcGVyZ3VudGFzLWUtcmVzcG9zdGFzL2NvbnZlcnNhdGi9yZWFkLmh0bWw/aWQ9MjU=

К URL-адресу, запрашивающему перенаправление на определенную страницу.

Но они всегда возвращаются на страницу профиля.

9 голосов | спросил Nuno Nogueira 12 PMpTue, 12 Apr 2016 12:52:39 +030052Tuesday 2016, 12:52:39

1 ответ


8

Довольно просто сделать это.

Сначала вам нужно создать переопределение шаблона для следующего файла:

components/com_users/views/login/tmpl/default_login.php

После завершения откройте следующий файл (ваше переопределение):

templates/MY_TEMPLATE/html/com_users/login/default_login.php

и перейдите к строке 81, где вы увидите следующий код:

<input type="hidden" name="return" value="<?php echo base64_encode($this->params->get('login_redirect_url', $this->form->getValue('return'))); ?>" />

и замените его на:

<input type="hidden" name="return" value="<?php echo base64_encode($_SERVER['HTTP_REFERER']); ?>" />

Надеюсь, что это поможет

ответил Lodder 12 PMpTue, 12 Apr 2016 16:25:41 +030025Tuesday 2016, 16:25:41

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132