Drupal 7 开发内部培训资料, 分头诗人

block

0
投票
1
回答
727
查看
0
投票
4
回答
792
查看
0
投票
4
回答
921
查看
0
投票
2
回答
3607
查看

drupal 7 通过编写代码方式创建自定义区块。

我们先看看跟block相关的钩子。
hook_block_info () –用于在模块中声明新的区块,以及指定区块的初始设置。每个区块通过一个数组声明,其中使用了在本模块中用来唯一标识区块的delta作为该数组的键。注意:是在本模块中唯一标识。也就是说:其他模块中可能出现与本模块中区块同名的delta。这就意味着:通过“模块名+delta”可以唯一确定一个区块。block的基本信息,如是否缓存,是否默认开启,是否默认显示在某些页面,显示在哪些页面等。
在每个区块声明数组中有很多键值对:

  • info:必须,指定区块的人读名。
  • cache:可选,指定区块的缓存类型。
  • properties:可选,附加给区块的元数据。
  • weight:可选,指定区块的权重。
  • status:可选,指定区块的启用状态。
  • region:可选,指定区块的所在区域。
  • visibility:可选,用于区块可见性,解释了pages的值。
  • pages:可选,用于区块可见性。

hook_block_info_alter() – 我们知道,凡是钩子以 alter结尾的,都是要来修改已有的内容的。这个也不例外。价值在于不需要
hook_block_configure() -用于定义区块设置表单。在Drupal后台的区块管理列表中(http://你的网站域名/admin/structure/block)的Operations一栏,可以看到每个区块都有一个configure链接,点击进去就是每个区块的设置表单了。该钩子函数就是为这个设置表单添加新的设置项目的。首先通过delta确定需要定义设置的区块,然后创建表单项,再通过Drupal的持久变量提供默认值。
hook_block_save() -用于保存来自hook_block_configure()的区块设置。它需要的参数有两个:

  • $delta:需要定义设置的区块。
  • $edit:来自通过hook_block_configure()定义的区块设置表单的数据,它的键是表单的元素。

hook_block_view() - 用于生成区块的内容。它的返回值是一个数组,该数组有两个键:

页面

订阅 RSS - block