Перенаправление на пользовательский обработчик отправки
Так что в основном это мой второй день в этой проблеме.
у меня есть мой модуль send_xml.module
function send_xml_form_user_register_form_alter(&$form, &$form_state) {
$form['#submit'][] = 'send_xml_submit_function';
}
function send_xml_submit_function($form, &$form_state){
$email = $form_state['values']['mail'];
$password = $form_state['values']['pass'];
$form_state['redirect'] = array(
'mylink', array(
'query' => array(
'email' => $email,
'password' => $password,
),
),
);
но он не перенаправляет после процесса в mylink
просто обновляет страницу.
2 ответа
Вы также можете использовать функцию drupal_goto:
function send_xml_submit_function($form, &$form_state){
$email = $form_state['values']['mail'];
$password = $form_state['values']['pass'];
drupal_goto('REDIRECT_pATH', array('query' => array('email' => $email, 'password' => $password)));
}
Использование hook_form_alter
как это:
function send_xml_form_alter(&$form, &$form_state, $form_id) {
switch ($form_id) {
case 'user_register_form':
$form['#submit'] = array('send_xml_submit_function');
break;
default:
# code...
break;
}
}
function send_xml_submit_function($form, &$form_state){
// call default submit -- this is default submit action for register form
user_register_submit($form, $form_state);
// if you use profile2 to create fields in register form then call this function too
profile2_form_submit_handler($form, $form_state);
$email = $form_state['values']['mail'];
$password = $form_state['values']['pass'];
$form_state['redirect'] = array(
'mylink', array(
'query' => array(
'email' => $email,
'password' => $password,
),
),
);
}
У меня была такая же проблема несколько недель назад, и я решил ее таким образом, на самом деле я понятия не имею, почему эта работа и почему добавление #submit
не работает
Я проверил друпал user_register_submit
код и вроде как понятно $form_state['redirect']
перенаправить пользователя на <front>
,