Drupal专业开发指南(25)第9章 Drupal 区块(Drupal block)

30Sep2008 分类: Drupal

(2) 区块钩子方法

使用区块钩子

在用代码创建区块时,我们在钩子方法 hook_block() 中处理所有的逻辑。通过这个钩子,你可以创建一个单独的区块或者一组区块。任何模块都可以通过其钩子方法创建区块。让我们看下该函数的方法签名:

function hook_block($op = ‘list’, $delta = 0, $edit = array())

参数列表

区块钩子中使用的参数在接下来的部分讨论。

$op:这一参数用于定义一个区块在传递过来时所处的阶段。通过参数 $op 来定义一个操作阶段,这一模型在 Drupal 中是常用的框架 - 例如 hook_nodeapi() 和 hook_user() 中都用到。

$op 的可能值如下:

list:返回包含模块定义的所有区块的数组。数组的键值是 delta(在本模块定义的区块范围内,它是唯一标识符)。那么每个数据元素的值是一个提供了区块重要数据的一个数组,list 的可能值和默认值,如下:

info:一个可国际化的字符串(例如,通过 t() 包装),为站点管理员提供了一个合适的描述。

status:区块启用为 True,禁用为 FALSE,默认为 FALSE。

region:默认区域为左栏。

weight:它控制着区块在它的区域内的放置次序。重量越小,位置越靠前,水平方向是靠左方,垂直方向是靠上方。重量越大,越靠后。默认值为0.

pages:定义节点所在的默认页面。默认是一个空字符串。Pages 的值是通过换行分隔的 Drupal 路径,* 为通配符。例如,路径 blog 为日志首页,而 blog/* 则为每个个人日志页面。 代表首页。

custom:TRUE 代表着这个区块是通过后台接口创建的,而 FALSE 则代表着它是通过模块实现的区块。

title:区块的默认标题。

configure:返回一个用于区块特定设定的表单字段的数组。它整合了默认后台接口的表单数组,从而使你能够扩展区块的配置方式。如果你实现了它,你同时还需要实现保存(save)操作 $op(参看下面)。

save:当配置表单提交时被调用。当你的模块可以保存你在配置操作 $op 中收集的定制化的区块的配置信息时,使用该操作。你想保存的操作包含在变量 $edit 中。

view:区块被显示。返回一个包含区块标题和内容的数组。

$delta:这是返回的区块 ID。这里你可以使用一个整数或者一个字符串,注意当操作 $op 的状态为 list 时,$delta 被忽略。

$edit: 当操作为保存时,$edit 包含了从区块配置表单提交过来的表单数据。

前一篇:说说百度的“能力”和“态度后一篇:Drupal专业开发指南(26)第9章 Drupal 区块(Drupal block)前二篇:百度的那些破事——百度封杀Wordpress的内幕曝光后二篇:Drupal专业开发指南(27)第10章 Drupal 表单 API(form API) - 表单处理流程前三篇:[强力推荐]我们为什么不能相信百度?后三篇:Drupal专业开发指南(28)第10章 Drupal 表单 API(form API)- 创建基本的表单

    30日热点

  • 未找到

没有评论

(*)
(不会公布)