12 PHP代码的形式

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

​作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们在前面提到过,不需要定义模块,只需要使用PHP filter模块,在自定义区块的内容里面,使用PHP代码,也可以实现动态的区块。我们以上面的例子作为对比,采用PHP代码的方式,实现同样的功能。
为此我们需要在区块管理界面添加一个自定义区块,配置信息如图所示:

Drupal版本:

11 钩子hook_block_view

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

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
通过使用Drupal函数variable_set(),我们将帖子数量和基路径的配置保存了下来。最后添加hook_block_view的实现,当区块显示时,返回Discuz最新帖子:

Drupal版本:

10 钩子hook_block_save

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

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
当区块配置表单被提交后,区块系统并不会自动的保存我们新增的设置,此时我们还需要实现钩子hook_block_save,使用它来保存我们新增表单字段的值:

Drupal版本:

9 钩子hook_block_configure

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

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
接下来,我们需要为区块创建相关的配置选项,这个配置选项不是必须的,根据需要选用。我们打算帖子数量是可以配置的,同时对于帖子链接到的论坛网址的基路径,我们也希望能够配置,为此,需要实现hook_block_configure钩子,向module文件中添加以下代码:

Drupal版本:

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版本:

页面

Subscribe to Think in Drupal RSS