在网站联系表中添加其他字段


18

这对我来说似乎很难。我认为只是在添加额外字段的情况下,就像在“内容类型”中添加字段一样。但不是。我找不到在“联系方式”表单中添加电话号码字段的任何功能吗?外面有人知道吗?

Answers:


20

期望像内容类型一样配置表单字段太笼统了。内容类型用于网站的内容(文本,图像等),更具体地说,在Drupal中用于节点(在Drupal中是主要内容)。使用Field and Field UI模块,可以使用Web UI 轻松地将字段添加到内容类型。除某些特定情况外,表单不是网站内容的一部分,而是用户添加和编辑信息(有时是内容,有时不是)的一种方式。

要自定义(即更改)Drupal中的表单,通常的方法是创建一个实现hook 的自定义模块。这样,您可以将表单元素添加到其他模块提供的现有表单中。要以这种方式使用添加到联系人表单中的字段信息,您还需要使用hook_mail_alter()实现更改发送的邮件。以下指南将引导您完成Drupal 7中的两个步骤。(另请注意此注释hook_form_FORM_ID_alter

一种非代码解决方案是使用Webform模块,该模块提供表单内容类型,并允许您将表单作为内容添加到您的网站。这些表单可以通过Web UI进行配置。可以为通过这些表格提交的信息配置各种处理步骤。其中之一是电子邮件发送。将其用于自定义联系表单是一种常见的用例。Webform带有自己的概念和扩展点。尽管对于一次性简单表单而言,它可能被证明是一种更轻松,更快捷的解决方案,但一旦达到某些功能阈值,它可能会显示尺寸过大且难以自定义。然后,向Web表单添加额外功能的成本可能会超过避免首先编写自定义模块的收益。


1

这取决于您用于联系表的模块。一些模块将提供不需要编程即可添加其他字段的后端接口。具有此功能的一个非常流行的模块是Webform。

除此以外,可以通过使用hook_form_alter钩子编写自定义模块来更改Drupal中的表单。有很多关于mdoule开发以及如何使用此特定挂钩的教程。


1

如果您使用核心的Contact模块,那么希望Drupal 7 的Contact form字段模块能尽快完成。

该模块允许将其他字段添加到站点范围的联系表单,例如配置文件模块界面。管理员可以定义字段,这些字段将在站点范围内的联系表单中提供。请注意,由于我看不到任何特殊需求,因此这些字段暂时无法用于个人联系表。

如果您现在想要什么:4个选项:

  • 使用节点类型并将其转换为联系表。
  • 使用网络表单。
  • 建立一个自定义模块
  • 甚至更好:fork / help contact_field模块!项目页面刚刚更新,因此至少要再次移动,并且完成后,将提供一种非常不错的添加字段的方式,就像在内容类型上一样。

(将其添加到搜索bot领域;))


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.