在drupal中放置DB查询的最佳位置是哪里?

在drupal中放置DB查询的最佳位置是哪里?,drupal,Drupal,我有一些表单,它们的数据需要写入自己表中的主数据库。只是简单的名称电子邮件收集表单,它是drupal中常规页面的一部分。我认为正确的方法是编写一个模块,在函数中包含查询,但这只是一个猜测。我以前从未编写过模块,也不知道表单将如何以这种方式处理 也有人猜测,在一个节点内执行db查询是不安全的 我唯一的另一个想法是在服务器上使用一个php文件来进行表单处理,并在那里编写db查询,但据我所知,这似乎非常非drupal 如何???是Drupal关于模块开发的信息 您需要使用函数“db_query()”

我有一些表单,它们的数据需要写入自己表中的主数据库。只是简单的名称电子邮件收集表单,它是drupal中常规页面的一部分。我认为正确的方法是编写一个模块,在函数中包含查询,但这只是一个猜测。我以前从未编写过模块,也不知道表单将如何以这种方式处理

也有人猜测,在一个节点内执行db查询是不安全的

我唯一的另一个想法是在服务器上使用一个php文件来进行表单处理,并在那里编写db查询,但据我所知,这似乎非常非drupal

如何???

是Drupal关于模块开发的信息

您需要使用函数“db_query()”


您可以使用Drupal的内置方法来构建表单,尽管这样可以为您保存数据。看看模块开发人员指南,您应该能够理解它。模块开发听起来很吓人,但一旦你真正了解了Drupal的发展(因此,请阅读本指南),它就不会像看上去那样忙碌了。

你检查过已经存在的东西了吗?可能无需任何自定义代码即可解决您的需求


另外,如果您想了解更多关于Drupal和基本模块开发的信息,我强烈推荐《Pro Drupal开发》一书。

我支持Webform模块。创建一个包含名称和电子邮件的非常简单的Web表单(结果可以通过电子邮件发送或自动存储在数据库中,并且可以以多种格式轻松导出)。然后查看模块,将该webform放在一个块中,并将其放置在站点上需要的任何位置。无需自定义编码

以下是Webform块项目页面的摘录:

允许将webform节点嵌入到可以定位在任何块区域中的块中(主题空间允许)

处理验证错误时重定向回当前页面的操作

这样做的一个好方法是在页面上内联添加一个站点范围的联系人表单,例如在页脚或侧边栏中

多个webforms可以出现在同一页面上。块的内容只是一个节点,因此可以像往常一样在node-webform.tpl.php文件中完成主题工作