Тоже долго мучился с этой проблемой. Оказывается информация в рунете по этому вопросу не соответствует действительности, по крайней мере в отношении Joomla 2.5.
Итак, для того чтобы изменить параметры редиректа (перенаправления, переадресации) после регистрации пользователя править нужно не файл /components/com_user/controller.php, а
components/com_users/controllers/registration.php.
Прокрутите вниз до самого дна. На строке 162 или около того, вы увидите требуемый фрагмент кода:
// 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://www.mywebsite.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://www.mywebsite.ru/welcome', false));
}
Информацию почерпнул здесь:
http://www.mysysadmintips.com/other/web/127-joomla-redirection-after-user-registration