区块是用于在页面上展示一部分数据的方法。它是一个小块区域,里面可以放置文字、图片、文章列表或其他内容。这些区块通常被放置在页面的“非主要部分”。非主要部分主要是指顶部、左侧、右侧和底部。另外,区块还可以被设置只在某个页面或某类页面显示。
区块在页面中可以放置的地方称为“区域”。区域是由“主题”规定的,Durpal的主题引擎默认将页面分为五个区域,如图3-5所示。每个主题可以自定义页面模板,增加或减少区域。页面模板文件page.tpl.php中包含有区域变量(如$left、$right等),通过修改HTML代码或CSS样式可以实现对定位的修改。一个区域中可以拥有0个或多个区块,但每个区块只能被放置在一个区域中,不能同时出现在两个以上的区域。
图3-5 Drupal的默认区域
管理员可以在后台的区块管理中设置区块的所属区域,以及每个区块的属性(如标题、可访问的角色以及在哪些页面中显示等)。网站用户也可以选择其是否开启和关闭,只要系统赋予了这样的权限。
区块有两种创建方式:一种是在后台管理像创建节点那样创建区块,填入静态的HTML代码;另一种方式是通过自定义模块,使用区块的钩子函数来创建区块,这些将在后面的“开发篇”中介绍。