【问题标题】:How do I create a webform for each user?如何为每个用户创建一个网络表单?
【发布时间】:2010-01-22 11:26:23
【问题描述】:

在我的网站中,每个具有经理角色的用户都需要一个网络表单来获取用户的查询。 已创建的 webform 用于完整的网站。

我该怎么做?

【问题讨论】:

  • 我们能否提供有关特定问题的更多信息
  • 是的,请多解释一下你想要什么。
  • 我的系统中有 3 个角色,其中一个角色是经理,现在匿名用户应该通过网络表单联系经理……这意味着每个经理都有自己的网络表单,他可以在其中获取他的请求。 .如何解决这个问题...

标签: drupal drupal-views drupal-webform


【解决方案1】:

听起来您应该在核心 drupal 中使用联系人模块,而不是使用网络表单。您可以将其打开并配置权限,以便可以通过该表单联系每位经理。

如果您需要额外的字段而不是联系表单附带的,那么使用 hook_form_alter() 应该允许您添加额外的字段。

除非部分要求是记录发送的每个联系人?

【讨论】:

  • 正确。只是为了向其他人澄清您的帖子,联系人模块中有一个选项,以便每个用户都可以拥有他或她的特定联系表格,该表格只发给他/她。这听起来正是 OP 所追求的,除非可能需要保留记录(如您所提到的),因为 Contact 模块只是发送电子邮件,除此之外不会将其保存在任何地方。
【解决方案2】:

如果您不打算使用 Webform 模块,这可能是一种更复杂但适合您所需的方法。

  1. 使用 CCK 为表单所需的字段设置自定义内容类型
  2. 使用用户参考字段来指明表单应该发送给哪个站点用户
    • 如果您也使用Content ProfileNodeReference URL 可以帮助自动填充表单。不幸的是,似乎没有“UserReference URL”模块。
    • PrePopulate 将允许您使用 GET 参数从链接设置表单的值,尽管链接不如 NodeReference URL 的方法干净。
  3. 在提交消息时使用 Actions 向 from 中指定的用户发送消息

创建一个视图可能会有所帮助,该视图将为每个用户列出他们已发送的表单,以便他们可以从一个位置轻松找到它们。

您可能还想设置一个内容访问模块,以便不是每个人都可以查看提交的表单。您必须找到适合您需要的内容,但您应该能够将内容类型设置为只能由其收件人(和作者,如有必要)或某些角色(例如,所有管理员都可以查看所有请求)查看

【讨论】:

    【解决方案3】:

    使用联系模块:联系模块允许站点访问者向其他经过身份验证的用户和站点管理员发送电子邮件。通过个人联系表格,用户可以互相发送一封电子邮件。通过站点范围的联系表格,用户可以向任意电子邮件地址发送电子邮件,例如站点维护人员。

    参考:https://www.drupal.org/docs/8/core/modules/contact/overview

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多