Автор Тема: Редирект при авторизации  (Прочитано 24 раз)

24 Октября 2016, 11:09:26
  • Новичок
  • *
  • Сообщений: 23
  • Репутация: +0/-0
  • Вольный фрилансер
    • Просмотр профиля
    • Интернет-магазин ToBeMom
Всем доброго дня!
Подскажите, кто сталкивался, пожалуйста...

При при авторизации пользователя в магазине происходит редирект на my-accaunt в личный кабинет пользователя.
Требуется переадресовать пользователя после авторизации на предыдущую страницу, с которой был осуществлен переход на форму авторизации.
Теоретически представление имею: запоминаем ссылку --- передаем её контроллеру авторизации --- в случае успешного входа переходим по данной ссылке.

Вопрос в следующем: правкой каких файлов можно реализовать данный функционал?

Заранее спасибо за подсказки! )
24 Октября 2016, 11:41:49
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 13147
  • Репутация: +14553/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В контроллере авторизации /controllers/front/AuthController.php есть переменная 'back', в которой хранится адрес страницы перехода.
Редирект в методе processSubmitLogin
if (!$this->ajax) {
    $back = Tools::getValue('back','my-account');

    if ($back == Tools::secureReferrer($back)) {
        Tools::redirect(html_entity_decode($back));
    }

    Tools::redirect('index.php?controller='.(($this->authRedirection !== false) ? urlencode($this->authRedirection) : $back));
}
Можно изменить правила редиректа в этом методе.
25 Октября 2016, 05:24:04
Ответ #2
  • Новичок
  • *
  • Сообщений: 23
  • Репутация: +0/-0
  • Вольный фрилансер
    • Просмотр профиля
    • Интернет-магазин ToBeMom
Спасибо за ответ, сегодня попробую!