You are here

drupal6

内容包括drupal6教程,drupal6汉化,drupal6主题,drupal6模板,drupal6中文手册,drupal6 views,drupa6中文,drupal6安装,drupal6开发,drupal6视频,等

把数据存储到数据库表中(2)

g089h515r806 的头像
Submitted by g089h515r806 on 星期二, 2009-07-28 12:24

老葛的Drupal培训班 Think in Drupal

我们可以把这段sql语句放到我们模块的README.txt文件中,这样我们就省事了,但是想要安装这个模块的其他用户就麻烦了,他们需要手工的将数据库表添加到他们的数据库中。换种方式,我们知道,在你启用你的模块时,Drupal能帮你创建相应的数据库表;我们这里将利用Drupal的这一点。我们将创建一个特殊的文件;文件的名字将使用你的模块名,而后缀则使用.install,所以对于annotate.module,这个文件名应该为annotate.install。创建文件sites/all/modules/custom/annotate/annotate.install,并输入以下代码:

Drupal版本:

把数据存储到数据库表中(1)

g089h515r806 的头像
Submitted by g089h515r806 on 星期二, 2009-07-28 12:22

存储模块所用数据的最常用方式,就是为这个模块的数据创建一个单独的数据库表。这将使得该数据与drupal核心数据库表独立开来。当你决定为模块创建哪些字段时,你应该问问自己:需要存储什么数据呢?如果我要对这个表进行查询,那么我需要使用什么字段和索引?最后,还要考虑一下,我在将来对这个模块可能会作哪些扩展?

Drupal版本:

添加数据输入表单(3)

g089h515r806 的头像
Submitted by g089h515r806 on 星期二, 2009-07-28 12:20

   我们最后要做的就是创建表单,并把它添加到$node对象中。首先,我们需要定义一个表单,这样我们就有了要添加的东西。我们将在annotate.module中的一个单独的函数中完成这件事,它唯一的责任就是定义表单:

Drupal版本:

添加数据输入表单(2)

g089h515r806 的头像
Submitted by g089h515r806 on 星期二, 2009-07-28 12:19

   这个看起来有点复杂,所以让我们详细的分析一下。首先要注意的是,我们在这里实现了Drupal的另一个钩子。这次是nodeapi钩子,在drupal对节点进行各种处理时将会调用该钩子,这样其它的模块(比如我们的)在处理继续往下以前可以修改节点。我们通过变量$node将节点传递过来。注意第一个参数前面的&,这意味着它实际上是对$node对象的一个引用,这点非常好,因为我们在这里对$node所做的任何修改都将被保存下来。由于我们的目标是追加一个表单,所以我们非常高兴地看到我们可以修改节点。

Drupal版本:

页面

Subscribe to RSS - drupal6