Вывод 2 одинаковых форм в Drupal 7

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

Аватар пользователя Alexei91 Alexei91 9 октября 2014 в 20:25

Вывожу с drupal_get_form() 2 фактически одинаковые формы:

<?php
$Form1 
drupal_get_form('user_register_form''ссылка1');
print 
drupal_render($Form1);

$Form2 drupal_get_form('user_register_form''ссылка2');
print 
drupal_render($Form2);
?>

Но с немного разными сабмитами, аргументы передаются, но как дело доходит до редиректа начинается хуйня:

<?php
function TEMPLATE_form_user_register_form_alter(&$form, &$form_state$form_id) {
    
// Здесь нормально отображаются в каждой форме разные надписи кнопок - ссылка1 или ссылка2
    
$form['actions']['submit']['#value'] = $form_state['build_info']['args'][0];

    

// А здесь всегда только ссылка1 (что за *****?)
    
$form_state['storage']['url'] = $form_state['build_info']['args'][0];
    
$form['#submit'][] = 'blablabla_goto';
}
function 
blablabla_goto($form, &$form_state) {
    
$form_state['redirect'] = $form_state['storage']['url'];
}
?>

Комментарии

Аватар пользователя sas@drupal.org sas@drupal.org 10 октября 2014 в 16:05

Если формы одинаковые на одной странице надо использовать hook_forms() и делать их с разными названиями - например my_form_1 и my_form_2, используя одну function my_form()