Частные элементы Joomla 2.5 K2 перенаправляются обратно на домашнюю страницу вместо исходной ссылки после входа в систему

Постараюсь описать нашу проблему. Надеюсь, кто-то умнее нас сможет это понять. На одном из наших сайтов Joomla есть некоторый контент, требующий входа в систему, достаточно простой, верно? Обычная функция входа в систему работает отлично. После входа в систему мы могли видеть заблокированный контент. Но допустим, у нас есть прямая ссылка на «заблокированную» страницу, после входа в систему страница перенаправляется на домашнюю страницу (index.php).

Изначально Joomla 2.5 должна сохранять исходную ссылку и перенаправлять на эту ссылку, а не обратно на index.php. Итак, если моя ссылка была homepage.com/k2item1, после входа в систему она должна перейти на k2item1, а не на index.php. Я попытался отключить все модули и плагины на случай, если что-то переопределит встроенную функцию входа в систему по ссылкам. Я проверил файл .htaccess на наличие перенаправлений. Я пробовал обе настройки в настройках SEO «Использовать перезапись URL», да/нет не имеет значения. Я попытался переименовать папку переопределения (html) в папке нашего шаблона, поэтому переопределения не должно произойти. Ничего такого. Ссылка по-прежнему перенаправляет обратно на index.php. Я даже пытался распечатать объект формы/пользователя, чтобы увидеть, была ли там исходная ссылка, также известная как «возврат», и ссылка там, но после входа в систему по-прежнему index.php вместо строки «возврат». Любые идеи будут высоко оценены. Может быть, есть плагины, которые помогут убедиться, что ссылки не перенаправляют на домашнюю страницу?


person CS Studios    schedule 13.08.2013    source источник
comment
обновление: компоненты/com_users/controllers/user.php Наконец-то отследил, где он ломается. строка 35: $data['return'] = base64_decode(JRequest::getVar('return', '', 'POST', 'BASE64')); Это не возвращает ссылку на форму. Это / каждый раз. Я установил $date['return'] вручную на желаемую внутреннюю ссылку и работает. Буду очень признателен за любые идеи о том, как это исправить. Ненавижу взламывать ядро, но мне просто нужно это сделать (вздох).   -  person CS Studios    schedule 14.08.2013


Ответы (1)


Переопределите компонент: mod_k2_user/login.php и отредактируйте имя скрытого ввода "return".

<input type="hidden" name="return" value="<?php echo base64_encode(JURI::current()) ?>" />
person ale    schedule 13.03.2016