[Решено] Перенаправление после регистрации

Главные вкладки

Комментарии

Аватар пользователя DruidUnderground DruidUnderground 8 марта 2011 в 19:26

Честно говоря пробивал применить код, но чет не получилось
Буду очень благодарен за подробный пример.
Код вписывать в template.php?
Зачем писать mymodule?

Аватар пользователя ATon23 ATon23 8 марта 2011 в 20:34

DruidUnderground wrote:
Честно говоря пробивал применить код, но чет не получилось
Буду очень благодарен за подробный пример.
Код вписывать в template.php?
Зачем писать mymodule?

используется hook_form_alter - а hook отрабатывает только из модуля.

Аватар пользователя tlito tlito 10 ноября 2015 в 11:50

У меня не получилось.
Я сделал папку redirect_after_regisration и в ней два файла:
redirect_after_regisration.info
redirect_after_regisration.module

Включил модуль. Попробовал зарегиться и перешел на главную после регистрации.

Вот листинг того что во вложении ЭТО НЕ РАБОТАЕТ
redirect_after_regisration.info----------
name = Redirect After Registration
description = Redirects to a page url afeter registration
core = 7.x
version = "7.x-1.0"
files[]= redirect_after_regisration.module

redirect_after_regisration.module


<?php
/*redirect after user register to page check your mail message*/
function redirect_after_regisration_form_alter($form_id, &$form) {
  if (
$form_id == 'user_register') {
    
$form['#redirect'] = 'node/1';
  }
}
?>

подскажите как сделать, чтобы пользователь после регистрации перенаправлялся на мою страницу node/2
и без лишних тяжелых модулей? и в тригерс я тоже не смог так что мне б хотелось через свой

Аватар пользователя tlito tlito 27 декабря 2014 в 1:06

Исправил form_id на для седьмого user_register_form
видимо модуль ваш для 6ки а у меня 7ка.
подскажите как писать?

Аватар пользователя tlito tlito 10 ноября 2015 в 11:50

Благодаря гуглу нашелся такой код:
https://www.drupal.org/node/331419#comment-6317614

то есть так:

<?php
/*redirect after user register to page check your mail message*/
function redirect_after_regisration_form_alter(&$form, &$form_state,$form_id) {
  switch (
$form_id) {
    case 
'user_register_form':
          
$form['#submit'][] = 'redirect_after_regisration_user_register_submit';
      break;
  }
}

function 

redirect_after_regisration_user_register_submit($form, &$form_state) {
  
$form_state['redirect'] = 'node/2';
}
?>

В архиве готовый модуль, который работает. И на мой взгляд это оптимально.
А если адрес ноды у вас другой, то измените node/2 на ваш адрес страницы сообщения о регистрации.