【问题标题】:Where is the best place to put a DB query in drupal?在 drupal 中放置数据库查询的最佳位置在哪里?
【发布时间】:2009-06-17 03:45:24
【问题描述】:

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

也有人猜测,在节点内执行 db 查询会不安全?

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

怎么做??

【问题讨论】:

    标签: drupal


    【解决方案1】:

    http://drupal.org/node/508 是 Drupal 关于模块开发的信息

    你会想要使用函数“db_query()”

    您可以使用 Drupal 的内置方法来构建表单,尽管这会为您保存数据。不过看一下模块开发人员指南,您应该能够弄清楚。模块开发听起来很吓人,但一旦您真正了解 Drupal 的情况,它并不像看起来那么忙碌(因此,请阅读指南)。

    【讨论】:

      【解决方案2】:

      你检查过那里已经有什么了吗? Webform 可能无需任何自定义代码即可解决您的需求。

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

      【讨论】:

        【解决方案3】:

        我会选择 Webform 模块。创建一个非常简单的带有名称和电子邮件的网络表单(结果可以通过电子邮件发送或自动存储在数据库中,并且可以以多种格式轻松导出)。然后查看Webform Block 模块,将该网络表单放在一个块中,并放置在您网站上任何您需要的地方。无需自定义编码!

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

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

        处理在验证错误时重定向回当前页面。

        这样做的一个很好的用途是在您的页面上添加一个网站范围内的联系表单,例如在页脚或侧边栏中。

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

        【讨论】:

          猜你喜欢
          • 2012-05-27
          • 1970-01-01
          • 1970-01-01
          • 2021-12-03
          • 1970-01-01
          • 1970-01-01
          • 2010-09-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多