Как сделать перенаправление на определенную страницу после регистрации на сайте? Решено.

Хочу сделать на сайте страницу с информацией о нем, с информацией где, что и от куда берется, чтобы только что зарегистрировавшемуся пользователю было понятно как работать с сайтом, но далеко не все будут нажимать кнопку с ссылкой на эту страницу, ведь ее еще надо будет найти.

Поэтому задался вопросом, а как сделать так, чтобы после регистрации все пользователи сначала попадали на эту страницу? Ознакомились с правилами и дальше могли работать с сайтом?

Пробовал пойти по пути, описанном в топике но не вышло, подскажите пожалуйста как сделать переаресацию после регистрацию на нужную страницу?

Update
Для тех, кому это может понадобиться в будущем, это реализуется так:
1. В файле \classes\actions\ActionRegistration.class.php меняем строчку
$this->Viewer_AssignAjax('sUrlRedirect',$sUrl ? $sUrl : Config::Get('path.root.web'));

на
$this->Viewer_AssignAjax('sUrlRedirect',$sUrl ? $sUrl : Config::Get('module.user.redirect_after_registration'));


2. В файле \templates\skin\ваш_шаблон\window_login.tpl меняем строку
<input type="hidden" name="return-path" value="{$PATH_WEB_CURRENT|escape:'html'}">

на
<input type="hidden" name="return-path" value="{cfg name='module.user.redirect_after_registration'}">


3. В конфиге добавляем строку
$config['module']['user']['redirect_after_registration'] = '___path.root.web___/page/rules'; 			  // переадресация после регистрации


Спасибо aex что помогли разобраться.

6 комментариев

avatar
В экшене регистрации копай, там указано, куда переходить после.
  • aex
  • 0
avatar
Спасибо, нашел.
Если кому пригодится, то в файле classes\actions\ActionRegistration.class.php
нужно заменить строчку
$this->Viewer_AssignAjax('sUrlRedirect',$sUrl ? $sUrl : Config::Get('path.root.web'));

на
$this->Viewer_AssignAjax('sUrlRedirect',$sUrl ? $sUrl : 'http://sait.ru/page/rules/');

или нужную вам.
только не нашел как через конфиг задать путь. пробовал и так:
Config::Get('path.root.web')."/page/rules" и так  Config::Get('path.root.web').'/page/rules'
и так  Config::Get('path.root.web')'/page/rules'

но они не работают
avatar
только данный способ работает если человек будет регистрироваться через sait.ru/registration
а если через всплывающее окно регистрации, то нет. подскажите пожалуйста где копать? здесь Z:\home\sait\www\templates\skin\synio\window_login.tpl?
avatar
отвечу сам себе. да) в этом файле меняем строку
<input type="hidden" name="return-path" value="{$PATH_WEB_CURRENT|escape:'html'}">

на
<input type="hidden" name="return-path" value="http://sait.ru/page/rules/">
avatar
Все-таки это лучше в конфиге определить, проще потом менять.

$config['module']['user']['redirect_after_registration'] = '/settings/profile/'; // редирект после регистрации

а в экшене прописать

Config::Get('module.user.redirect_after_registration');
  • aex
  • +1
avatar
Спасибо
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.