6 区块钩子介绍

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

    如果使用模块的方式创建区块,那么我们就需要了解与区块相关的钩子。区块模块提供的钩子可以参看modules\block文件夹下面的block.api.php文件。主要包含以下钩子:

 

hook_block_info

    这个钩子用来声明该模块提供哪些区块,同时在这里还可以指定初始化的区块设置。在这个钩子中,可以定义多个区块,每个区块都有一个标识ID,这就是前面提到的deltaDelta主要用于:

    作为参数传递给其它区块钩子,比如hook_block_configurehook_block_view

    在构建区块的html时,用来生成区块的html ID

    用于区块的模板建议block__MODULE__DELTA

    在hook_block_info_alter钩子中,供第三方模块使用。

 

    在每个区块对应的关联数组中,可以包含以下键:

info:这个值是必须的。一个可翻译的字符串(使用t()封装),为站点管理员提供了区块的可读名字,非站点管理员看不到这一信息。

cache: 表示这个区块如何被缓存。可能的值有DRUPAL_NO_CACHE (不缓存区块) DRUPAL_CACHE_CUSTOM(使用自定义的缓存)、DRUPAL_CACHE_PER_ROLE (基于角色缓存区块)DRUPAL_CACHE_PER_USER (基于用户缓存区块,站点用户多时最好不要用这种方式!) DRUPAL_CACHE_PER_PAGE (基于页面缓存区块)DRUPAL_CACHE_GLOBAL (缓存一次区块,所有的都一样)

    properties:添加到区块上的附加元数据数组。常用属性:'administrative'

status:区块默认是否被启用。

region:为区块设置的默认区域。

    weight:它控制着区块在区域内的相对位置。

    visibility:基于页面路径的可见性设置。参看上一节的描述。

pages:取决于visibility。参看上一节。

 

 

hook_block_configure

    为区块定义一个配置表单。

hook_block_save

    保存来自于hook_block_configure的配置选项。

hook_block_view

    返回区块的呈现数组。

hook_block_info_alter

   在区块信息保存到数据库之前,修改区块的定义信息。

 



Drupal版本: