Drupal CCK节点上的自定义联系表单

时间:2011-08-17 17:23:22

标签: drupal-6 cck drupal-contact-form

在Drupal 6中为特定类型的每个节点构建联系表单的最佳方法是什么?我有一些类型为“profile”的CCK节点,它们将电子邮件地址作为字段。我希望每个节点都有一个视图,其中包含一个用户可以填写的联系表单,并使用他们自己的电子邮件地址作为返回地址发送(以便在异地进行进一步的联系)。

基本上我只希望通过我的网站完成初始电子邮件联系,当收件人回复时,只需转到发件人填写联系表单时输入的地址。

您可能会问自己为什么我不使用Drupal附带的个人联系表单。问题是我的机构部署他们的Drupal实例以使用本地Kerberos登录的方式,它在Drupal中创建的用户帐户没有电子邮件地址。他们只使用用户名获得一个基本的骨架帐户。我真的不想强迫用户通过另一个编辑他们的用户帐户信息,因为他们很可能不会这样做。

1 个答案:

答案 0 :(得分:0)

节点本身无需做任何事情,您只需要这个 - 表单包含字段(from,to,subject,message)和自定义提交处理程序。 您可以使用forms API在自定义模块中实现所有这些,以创建表单并为其编写自定义提交。在此提交中,您需要通过drupal_mail()发送电子邮件 - 看看这个,它也提供了示例。 That主题可以帮助您填写表单。

然后,如果您需要将此表单放在节点中,则可以执行以下操作: 通过hook_nodeapi,在“查看”操作中,添加您之前创建的表单,您可以检查特定的node_type并使用现有的字段值(您提到cck字段和电子邮件)来预填表单。因此,每次用户查看节点时,他都会看到这种形式。

作为您任务的逻辑继续,我建议您查看menu system并为节点创建本地任务(选项卡)是有意义的,您将在其中显示电子邮件表单。

总的来说,就是这样。当然还有其他方法可以实现这一点,但我认为这是最容易理解的方法。

问候,斯拉瓦