老葛的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-1,annotate.module生成的配置表单。
仅用了几行代码,我们就为我们的模块提供了一个可用的配置表单,它将自动的保存和记住我们的设置!好的,尽管代码中的一行有点太长了,但是没有关系,你现在应该能够感受到撬动Drupal的力量了。
评论
修改
variable_get('annotate_nodetypes', array('page'))
修改为
variable_get('annotate_node_types', array('page'))
你是对的,不知道是原文就是这样,还是我复制错了^_^谢谢指
你是对的,不知道是原文就是这样,还是我复制错了^_^
谢谢指正
这些都是原文的错误喔!
谢谢你葛兄,因为您无私的付出,省去大家苦啃E文的时间。
我只是将看到的错误提出来,以便于后来的drupal爱好者的学习。
祝您事业蒸蒸日上。
Thomas Fan
Drupal 水隆投
我用的5.2.2版本,按照上述的步骤做了,页面能看到表单。
我用的5.2.2版本,按照上述的步骤做了,页面能看到表单。但是会有个警告:
62行:function
62行:
function annotate_entry_form($form_state, $node)
drupal6和Drupal5不兼容的,建议你用Drupa
drupal6和Drupal5不兼容的,建议你用Drupal6
谢谢
恩,搞定了,是版本问题,谢谢