многошаговая форма с загрузкой и сохранением в тип узла - PullRequest
0 голосов
/ 03 марта 2011

я пытаюсь около недели сделать многошаговую форму, используя форму api в drupal 6, и на шаге 2 есть 2 поля загрузки, а затем следует продолжить до шага 5, после того как пользователь заполнит шаг 1, он может пропустить всю форму и отправить данные ... я пытаюсь сделать это, и я не успешен, я склеиваю кусочки кода, и это не работает, и плагин multiform немного глючит кто-нибудь делал что-то подобное и может поделиться кодом или просто объяснить мне, какие функции я должен использовать и как?

1 Ответ

0 голосов
/ 07 марта 2011

Попробуйте multiform, но будьте осторожны, так как он все еще находится в состоянии разработки.

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

// if **step** is not set, make it 0, else increment it by 1.
$step = isset($form_state['values']) ? (int)$form_state['storage']['step'] : 0;
$form_state['storage']['step'] = $step + 1; 

Используйте регистр переключения для отображения элементов формы для текущего шага.Если это не последний шаг, отобразите следующую кнопку, иначе нажмите кнопку подтверждения.Переместите значения из $form_state['values'] to $form_state['storage']

. В функции отправки выполните вставку базы данных, если это последний шаг, в противном случае просто верните.

...