«Путь Drupal» к шагам мастера?

#drupal #drupal-modules #wizard

#drupal #drupal-модули #мастер

Вопрос:

Я работаю над пользовательским модулем в Drupal с подходом многостраничной формы, и я хотел бы иметь визуализацию шагов.

Шаг 1> [_Step_2_] > Шаг 3 > Готово

Бизнес-правила:

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

Q1: Какой лучший / наиболее корректный для Drupal или интуитивно понятный для Drupal способ реализовать это?

Я немного осмотрелся и нашел это : Скриншот Thimble

Q2: Это хороший вариант? Похоже, что здесь они используют систему hook_menu ( MENU_LOCAL_TASK) — как бы мне запретить пользователю переходить к шагам?

Ответ №1:

Другой способ сделать это — с помощью переменных функций. Смотрите

http://www.benjeavons.com/multi-step-forms-drupal-6-using-variable-functions (D6) http://growingventuresolutions.com/blog/drupal-7-multistep-forms-using-variable-functions (D7)

Вы также можете использовать мастер форм в Chaos Tools, который использует тот же подход, хотя я сам никогда им не пользовался.

Ответ №2:

Существует модуль под названием webform , который, как я полагаю, предоставляет эту функциональность «из коробки». Вы могли бы использовать webform узел для реализации вашей многоступенчатой формы, а затем обработать отправку в вашем модуле.

Комментарии:

1. Ответы формы Webform не хранятся в виде узлов, поэтому вы должны знать об этом, прежде чем выбирать Webform для проекта. При этом модуль Webform довольно хорош, и да, он поддерживает многоступенчатые формы «из коробки».