7 创建一个区块

admin 的头像
Submitted by admin on 星期五, 2015-06-26 09:44

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
在这个例子中,我们将创建一个区块,用于获取Discuz论坛中的最新帖子。我们知道,Discuz是中国最流行的论坛软件,很多使用Drupal建站的用户,由于各种原因选择了Discuz作为网站的论坛。此时两者之间用户的集成,内容的集成成了首要解决得问题。我们这里讨论的就是内容的集成,在Drupal里面显示Discuz中的最新帖子。

Drupal版本:

6 区块钩子介绍

admin 的头像
Submitted by admin on 星期五, 2015-06-26 09:41

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
如果使用模块的方式创建区块,那么我们就需要了解与区块相关的钩子。区块模块提供的钩子可以参看modules\block文件夹下面的block.api.php文件。主要包含以下钩子:

Drupal版本:

5 区块的数据库表结构

admin 的头像
Submitted by admin on 星期五, 2015-06-26 09:37

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
在模块中,通过使用一组区块相关的钩子,便可以定义区块了,而且一个模块可以定义多个区块。一旦区块定义好了以后,它就会显示在区块管理界面。另外,管理员可以通过后台管理界面,手动的创建自定义区块;当然,也可以使用views模块创建各种列表区块。在本节中,我们主要讨论,如何通过自定义模块的方式来创建区块。首先让我们了解一下区块的数据库表结构,如图所示。

Drupal版本:

4 理解区块的呈现

admin 的头像
Submitted by admin on 星期五, 2015-06-26 09:36

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
在一个页面请求周期内,在构建页面呈现数组时,Drupal允许模块通过实现钩子函数hook_page_build,向页面数组追加其它元素。区块系统通过实现这个钩子函数,把所有区域作为页面元素添加了进来。
function block_page_build(&$page) {

Drupal版本:

3 区块位置

admin 的头像
Submitted by admin on 星期五, 2015-06-26 09:34

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

我在前面提到,在Drupal的区块配置页面中,管理员可以选择将区块放置在哪个区域中。在区块的后台主页面,我们还可以对同一区域内的不同区块进行排序。区域是通过主题层的.info文件定义的,而不是通过区块API,而且不同的主题可以有不同的区域。关于创建区域的更多信息,可参看后续的主题系统一章。

Drupal版本:

2 区块配置选项

admin 的头像
Submitted by admin on 星期四, 2015-06-25 09:58

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

无论是自定义的区块,还是通过编写模块实现的区块,我们都可以在后台对其进行配置,导航到“首页 » 管理 » 结构 » 区块”,在这里找到“Powered by Drupal”区块,点击它的配置链接,我们就可以看到一个典型的区块配置页面,如图所示:

Drupal版本:

1 什么是区块?

admin 的头像
Submitted by admin on 星期四, 2015-06-25 09:55

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
区块包含一个标题和一个描述,主要用于广告、html片段等辅助功能,它一般不用作主内容;因此,区块不是节点,它与节点有着不同的规则。区块也不是Drupal7中的实体。

Drupal版本:

页面

Subscribe to Think in Drupal RSS