【问题标题】:Drupal 7 convert node form add to multi step formDrupal 7转换节点形式添加到多步骤形式
【发布时间】:2013-01-23 10:39:37
【问题描述】:

我有一个带有字段的节点类型,有些是必需的,有些不是。我正在尝试创建节点表单的多步骤表单。必填字段是第一步,其余字段是下一步。

我隐藏了第一步不需要的字段,使用 hook_form_alter,这是最简单的部分,但我不知道如何将表单转换为多步表单。我阅读了 API 文档,上面说我必须使用

$form['next'] = array(
      '#type' => 'submit',
      '#value' => 'Next >>',
);

这就是drupal 如何知道这是一个多步骤表单。 但如果我理解正确,我不能在 hook_form_alter 中使用它,因为 $form 不在那个状态。

在哪里可以删除表单旁边的提交和添加?

感谢您的帮助。

【问题讨论】:

  • 您是在尝试为任何内容类型制作多步骤内容提交表单,还是在谈论使用表单 API 构建的某些表单?

标签: drupal drupal-7 drupal-modules


【解决方案1】:

尝试http://drupal.org/project/mformshttp://drupal.org/project/multistep 作为指导。该模块主要用于制作简单的多步骤表单

一些sn-p,

Multistep 为内容类型编辑表单添加了多步骤功能。它通过为内容类型中的每个字段组分配一个步骤编号并隐藏所有不属于当前步骤的组来实现这一点。然后,用户可以使用不同的提交按钮来重定向到上一步、下一步或当前步骤。

【讨论】:

    【解决方案2】:

    hook_form_alter(或 hook_form_FORM_ID_alter)你想要使用的,你只需要确保你的事件最后触发。为此,您可以进入数据库并在 system 表中增加模块的权重(或编写 db_update,这是很长的路要走)。

    许多 Drupal 开发人员创建了一个名为“Overrides”或类似的模块,它总是最后触发。你可以把你的覆盖放在那里。

    作为项目的附注,您可能希望了解 Ctools 及其附带的 form_wizard 功能。如果您想将向导置于模态中,这可能会非常有用。我发现它非常优于 mforms,但它需要一点点熟悉。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-26
      • 2020-03-23
      相关资源
      最近更新 更多