Добрый день, не подскажете как получить массив формы создания ноды в своем модуле?
на странице http://shvetsgroup.com/ru/blog/multistep-registration
нашел следующий код:
<?php // Создаем дополнительную форму ноды.
$node_form = drupal_retrieve_form($type .'_node_form', $form_state, $node);
drupal_prepare_form($type .'_node_form', $node_form, $form_state);?>
но в form_alter он не работает
Комментарии
А зачем тебе в form_alter() грузить форму, если она там и так есть?
а мне эту форму нужно к другой форме добавить
Насколько я знаю форму в форме выводить невалидно. Есть определенный перечень элементов которые можно выводить в форме. Выведите сначала одну форму, потом вторую.
не так не получиться, нужно убрать сабмит у одной формы и от нее повесить обработчик на сабмит другой, а если не будет массива с формой сделать это сложно, тем более что одна форма вешается к другой через form_alert, а дважды ее в одном модуле не написать
«тем более что одна форма вешается к другой через form_alert». Так это Вы ж ее туда и цепляете.
<?php
my_module_form_alter(&$form, &$form_state, $form_id) {
switch($form_id) {
case 'id_формы_№1':
if ($key = array_search('название_обработчика_формы_№1', form[#submit])) {
unset($form[#submit][$key]);
}
break;
case
'id_формы_№2':$form[#submit][] = 'название_обработчика_формы_№1';
break;
}
}
?>
Как-то так...