向导步骤的“Drupal方式”?

问题描述:

我正在使用多页面表单方法处理Drupal中的自定义模块,并且希望有可视化的步骤。向导步骤的“Drupal方式”?

步骤1> [_Step_2_]>步骤3>完成

业务规则:

  • 他们总是看到所有的步骤,一步他们对现在
  • 他们可以回去任何一个步骤他们完成
  • ,但他们不能直接跳到了一步,说第2步,如果他们没有完成步骤1

Q1: 什么是最好的/最Drupal的或Drupal直观的方式来实现这一点?

我四处张望了一点,发现这一点:Thimble screenshot

Q2:这是一个很好的选择? 看起来他们在这里使用hook_menu系统(MENU_LOCAL_TASK) - 我将如何防止用户跳到步骤?

另一种方法是使用变量函数。见

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)

您还可以使用在混沌工具形式向导,采用同样的办法,虽然我从来没有用过我自己。

有一个叫webform的模块,我相信这个模块提供了这个功能。您可以使用webform节点来实现多步骤表单,然后在模块中处理提交。

+0

Webform表单响应不作为节点存储,因此在为项目选择Webform之前应该知道这一点。话虽如此,Webform模块非常棒,是的,它支持开箱即用的多步表单。 – thirdender 2012-11-18 06:07:53