You are here

添加特定于模块的设置(3)

老葛的Drupal培训班 Think in Drupal

这里值得讨论一下#default_value的值:

variable_get('annotate_nodetypes', array('page'))
 
  Drupal允许程序员使用特定的一对函数:varialble_get()和varialble_set()来存储和取回任意值。值将被存储到数据库表variables中,并且在处理一个请求的任意时候都是可用的。由于在处理每个请求时都会取回这些值,所以这种方法不能用来存储大量的数据。对于配置属性这样简单数值的存储,它却是一个非常方便的系统。注意我们传递给varialble_get()的是一个描述我们的值的键(所以我们可以取回它),和一个默认值。在这种情况下,默认值是一个数组,里面包含了允许注释的节点类型。在默认情况下,我们允许对节点类型page进行注释。
 
提示 当使用system_settings_form()时,表单元素(在这里就是annotate_node_types)的名字必须匹配variable_get()中所用的键。
 
    最后我们提供一个描述,用来告诉站点管理员关于这个字段的一些更细节的信息。
   
    保存你刚创建的文件,然后导航到“管理➤站点构建 ➤模块”。在标题为pro Drupal Development的组中,在模块列表的最后,你应该能够看到你的模块了(如果没有的话,那么仔细的检查你的annotate.info和annotate.module文件;并确保它们位于sites/all/modules/custom目录中)。继续前进,启用你的新模块。
 
    现在导航到“管理➤设置 ➤注释”,我们将看到annotate.module所显示的配置表单了(如图2-1所示)。
  
2-1annotate.module生成的配置表单。
 

  仅用了几行代码,我们就为我们的模块提供了一个可用的配置表单,它将自动的保存和记住我们的设置!好的,尽管代码中的一行有点太长了,但是没有关系,你现在应该能够感受到撬动Drupal的力量了。

Drupal版本:

评论

variable_get('annotate_nodetypes', array('page'))

修改为

variable_get('annotate_node_types', array('page'))