Школа физики

Школа физики

Персональный сайт учителя физики
Лях Владимира Петровича

Пятница, 23 января 2015 19:13

Joomla. Настройка переадресации при регистрации пользователя.

Автор
Оцените материал
(5 голосов)

Иногда требуется изменить алгоритм работы формы регистации сайта Joomla.

Для того чтобы изменить параметры редиректа (перенаправления, переадресации) после регистрации пользователя нужно внести изменения в файл components/com_users/controllers/registration.php.

Смотрим самый низ страницы с кодом. Где-то в районе строки 188 находим код:

// Redirect to the profile screen.
 if ($return === 'adminactivate'){
   $this->setMessage(JText::_('COM_USERS_REGISTRATION_COMPLETE_VERIFY'));
   $this->setRedirect(JRoute::_('index.php?option=com_users&view=registration&layout=complete', false));
}else if ($return === 'useractivate') {
   $this->setMessage(JText::_('COM_USERS_REGISTRATION_COMPLETE_ACTIVATE'));
   $this->setRedirect(JRoute::_('index.php?option=com_users&view=registration&layout=complete', false));
} else {
   $this->setMessage(JText::_('COM_USERS_REGISTRATION_SAVE_SUCCESS'));
   $this->setRedirect(JRoute::_('index.php?option=com_users&view=login', false));
}

В этом фрагменте видим 3 варианта переадресации:

Первый ( index.php?option=com_users&view=registration&layout=complete ) выполняется после регистрации пользователя, если учетная запись должна быть активирована администратором.

Второй ( index.php?option=com_users&view=registration&layout=complete ), если учетная запись должна быть активирована пользователем.

Третий ( index.php?option=com_users&view=login ), если активация  учетной записи не требуется.

Замените ссылки в зависимости от типа регистрации, который вы используете, на нужный вам URL. 
Например, если активация учетной записи на моем сайте не требуется, и я хочу перенаправить пользователя после регистрации на http://shkola-fiziki.ru/welcome , исправленный код будет выглядеть так:

// Redirect to the profile screen.
if ($return === 'adminactivate'){
   $this->setMessage(JText::_('COM_USERS_REGISTRATION_COMPLETE_VERIFY'));
   $this->setRedirect(JRoute::_('index.php?option=com_users&view=registration&layout=complete', false));
} else if ($return === 'useractivate') {
   $this->setMessage(JText::_('COM_USERS_REGISTRATION_COMPLETE_ACTIVATE'));
   $this->setRedirect(JRoute::_('index.php?option=com_users&view=registration&layout=complete', false));
} else {
   $this->setMessage(JText::_('COM_USERS_REGISTRATION_SAVE_SUCCESS'));
   $this->setRedirect(JRoute::_('http://shkola-fiziki.ru/welcome', false));
}

Донец 14

Выпускник школы

Комментарии   

+4 #4 Донец 31.01.2015 06:46
Цитирую suroc:
Происходит переадрисация index.php?option=com_users&view=registration&layout=complete но сообщение о том что емейл отправлен не выводится. пользователь создается. Началось после установки нового шаблона

В таких случаях я делаю страницу (материал), на которой пишу "Вы успешно зарегистрирован ы, вам отправлено письмо..." Ниже этого текста делаю ссылку "Перейти на главную". И вот как раз на эту страницу делаю редирект, как описано в статье. Правка components/com_ users/controlle rs/registration .php
Цитировать
+4 #3 suroc 31.01.2015 06:30
Происходит переадрисация index.php?optio n=com_users&vie w=registration& layout=complete но сообщение о том что емейл отправлен не выводится. пользователь создается. Началось после установки нового шаблона
Цитировать
+4 #2 Донец 30.01.2015 20:33
Цитирую suroc:
вообще не выводится сообщение после регистрации
что делать?

А что происходит? Снова открывается пустая форма регистрации? Пользователь при этом создается или нет?
Цитировать
+4 #1 suroc 30.01.2015 17:43
вообще не выводится сообщение после регистрации
что делать?
Цитировать

Комментарии

  • Евгений Евгений 25.11.2017 16:51
    Наконец то Урок по всем современным требованиям. Мугамба доволен!!!!!!!!! Не просто СПАСИБО! А ...

    Подробнее...

     
  • Олег Олег 02.11.2017 16:17
    Владимир, а где сегодня можно купить омагничиватель воды СО-2 или СО-3?

    Подробнее...

     
  • Тимур Тимур 22.09.2017 08:36
    Доброго времени суток, на вашем сайте наткнулся на фотографию учебного вольтметр-термо метра ...

    Подробнее...