You are here

什么是区块?

 

区块包含一个标题和一个描述,主要用于广告、代码片段和状态指示器,它不适用于主内容片段;因此,区块不是节点,它与节点有着不同的规则。节点可以具有多种功能:修订本控制,完善的访问权限,附带评论的能力,RSS种子和分类术语,等等;它们通常用于一个站点的主内容部分。
       区域是站点上用来放置区块的部分。区域的创建和显示是由主题(位于主题的.info文件中)负责的,而不是通过区块API来定义。没有指定区域的区块将不会显示出来。
       可以通过配置选项来控制谁可以访问区块,以及区块出现在站点的哪些页面。如果启用了节流阀模块,当访问量超过一定阀值时,一些不重要的区块,将被自动关闭。区块列表页面如图9-1所示。
       可以通过Drupal管理界面创建区块(称作自定义区块),也可以通过区块API用代码创建区块(称作模块区块)。当你创建区块时,该选用哪种方法呢?一次性的区块,比如一个与站点相关的一小段静态HTML,那么适用于自定义区块。如果区块本身具有动态性,与你编写的模块相关,或者里面大部分都是php代码,那么可以使用区块API通过模块来创建。由于代码存放在数据库中比写在模块中更难于维护,所以尽量不要在自定义区块中使用php代码,一个站点的编辑人员可能对此并不了解,他可能会偶然的不经意间将大量工作轻易的删掉。退一步讲,如果使用模块创建区块过于笨重,而又不得不使用php代码时,那么可以在区块中调用一个自定义函数,而将函数存放在别处。
 
图9-1当启用了节流阀模块时,区块列表页面显示了节流阀选项
 
注意 对于特定站点的区块和其它组件的一个常用实践:创建一个特定于站点的模块,将站点的自定义函数放在该模块里面。例如,为Jones Pies and Soda公司开发网站的程序员,他就可以了创建一个jonespiesandsoda模块。
 
       尽管区块API很简单,并且只有单个钩子函数hook_block(),但是在这一框架下,你可以实现许多复杂的事情。区块可以显示你所想要的任何东西(这是因为,由于它们是用php实现的,所以在功能上没有限制)。尽管如此,它们通常扮演一个对站点主内容进行支撑的角色。比如,你可以为每一个用户角色创建一个自定义导航区块,或者你可以在区块中列出等待批准的评论。
 老葛的Drupal培训班 Think in Drupal

Drupal版本: