发送电子邮件至Drupal 7中的节点作者

时间:2012-05-10 15:40:04

标签: drupal drupal-7 drupal-modules

Drupal 7: 我需要一个模块将联系表单附加到特定内容类型的节点。表单应该是可配置的,并允许发送带有节点作者附件的电子邮件。表格还应该有验证码。电子邮件不得保存在数据库中。

这样的模块是否存在或我是否需要开发它?

2 个答案:

答案 0 :(得分:1)

您应该能够通过webform模块,CAPTCHA模块和自定义模块的组合来实现这一目标。

Webform定义了它自己的“webform”内容类型,但它也允许您通过访问“admin / config / content / webform”并选择适当的内容类型来启用其他内容类型webform。

令牌模块提供节点令牌,例如nid和title,它们可以作为隐藏表单元素包含,但令人讨厌的是,不包括作者作为令牌。

在您的网络表单的电子邮件标签上,可以选择表单组件作为发送表单结果的电子邮件地址。我会创建一个隐藏字段,保留默认值为空,然后使用hook_form_alter在自定义模块中添加节点作者值应该相当容易(通过查看源代码并查找隐藏的输入'form_id可以找到表单id) “)。然后,您可以在电子邮件选项卡中使用此表单组件将结果发送到。

我唯一能看到导致问题的是,没有一种简单的方法可以阻止webform在数据库中记录表单结果 - 我想这可以在自定义模块中实现,但不会有太多麻烦。< / p>

答案 1 :(得分:1)

是的,有这样一个模块。它被称为Webform。使用Webform,您可以在具有预定义字段的特定节点类型下添加块表单,并将电子邮件直接发送给节点作者。

  1. 下载并启用Webform 4.x
  2. 创建新的,添加所需的字段
  3. 地址电子邮件标签下,使用令牌jobRepository
  4. 表单设置标签中,选中可用作块
  5. 配置新启用的块(仅在某些节点类型下显示+将限制页面设置为<asp:Repeater ID="RepeatCont" runat="server" ClientIDMode="Static"> <HeaderTemplate> <div class="panel-inner"> <div class="panel-group" id="accCont"> // parent </HeaderTemplate> <ItemTemplate> <div class="panel panel-dark-gray"> <div class="panel-heading"> <h5 class="panel-title"> <a class="panel-toggle" data-toggle="collapse" data-parent="#accCont" href='<%# "#" + Eval("MATCHID1") %>'> // add a postback here with linkbutton or javascript postback force - easier just do bind your child data because you'll have two different trying to happen - postback and data-toggle <div> //stuff on the panel </div> <div class="clearfix"> <br /> </div> </a> </h5> </div> <div id='<%# Eval("MATCHID1") %>' class="panel-body collapse"> //Hidden label with your MATCH ID 1 again - this is where you will tell your DetailsView to look for parameter //put your details view here </div> </div> </ItemTemplate> <FooterTemplate> </div> </div> </FooterTemplate>
  6. 做测试
  7. 您可以找到打印屏幕和更详细的说明here