需要在每个节点的每个实例中都有一个表单,每个节点可以提交一次 - Drupal 7

时间:2017-10-11 15:00:07

标签: forms drupal drupal-7 nodes

所以在这种情况下,我无法弄清楚如何实现它。

我有一个名为" Alert"的内容类型。此内容类型的每个实例都需要一个webform(实际上只是一个带有隐藏字段的提交按钮),用户单击以确认他们已阅读并理解警报。理想情况下,一旦提交,表单应替换为"您已将此警报标记为已读的消息。"

我确实创建了一个webform(显示为一个块,可以放置在为Alert类型设置的变体页面中),并且可以让它出现在每个实例上,但是用户可以在每个警报上多次提交(提交设置为无限制,就好像我将其设置为每个用户提交1次一样,表单在任何警报的第一次提交后都不会呈现。此外,一旦他们点击表单的一个实例,每个附加实例都会显示一条消息,说明他们已经提交了表单。

所以我真的有两个问题。首先,也是最重要的,允许每个节点提交一次(没有"已经提交"通知)。其次,不是必需的,但是很好,一旦为特定节点提交了表单,表单就不再在该节点上呈现给该特定用户。任何人对完成这两个方面的最佳方法有任何想法吗?

我在Drupal 7.56上运行,使用AT_Panels_Everywhere主题,Webform模块版本:7.x-4.15。

1 个答案:

答案 0 :(得分:0)

在drupal 7中,使用webform 7.x-4.0,您可以在内容类型中启用webforms。为此:

转到结构>内容类型 [各种内容类型]>编辑 在左下角的部分中,找到Webforms选项卡,然后选择为此内容类型启用webforms。

根据您的使用案例,我建议启用它并安装节点克隆模块。然后,您可以创建一个警报节点,设置webform,每个用户仅限一次提交,并允许内容管理员克隆内容。该节点可以作为模板。