5 Breadcrumb2已有问题的修正

admin 的头像
Submitted by admin on 星期四, 2015-09-17 09:51

​作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
没有哪个系统是完美的,也没有哪个Drupal模块不存在问题,可是我的心还是有点急,一口气从alpha1发布到beta2,希望别人能够尽快的看到效果。可是后来发现,下载了99次,只安装了一个站点,而这个站点还是我自己的。后来,让身边的朋友反馈意见,发现很多问题。如果你是跟着做过来的,可以尝试一下自己来解决一下这些问题。看看自己能否独立的解决这些问题。这些问题包括:

Drupal版本:

4 通过hook_contextual_links_view_alter修改上下文链接

admin 的头像
Submitted by admin on 星期四, 2015-09-17 09:49

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们前面讲过contextual_pre_render_links里面,提供了hook_contextual_links_view_alter这个钩子函数。在上下文,链接呈现前,通过这个钩子函数,可以修改上下文链接,也就是说,可以伪造模拟出来一个链接。可能很多人不明白,为什么。在前面,我们看到这样的代码:

Drupal版本:

3实现预处理函数

admin 的头像
Submitted by admin on 星期四, 2015-09-17 09:47

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们前面的工作都是在模板里面直接进行的,我们把它转移到预处理函数里面。主题函数的预处理函数是有限制的,而我们这里的breadcrumb是一个模板文件了,所以可以为它在模块里面实现预处理函数。我们的实现如下。

Drupal版本:

1 接管theme_breadcrumb函数

admin 的头像
Submitted by admin on 星期四, 2015-09-17 09:21

​作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们是可以在主题层覆写面包屑的,但是有一个问题,我们这里定义的是自己的模块,我们想在自己的模块里面修改theme_breadcrumb函数。我们知道,我们是不能够直接修改Drupal核心代码的,所以将其接管过来是最佳的办法。这也是我们添加上下文链接的第一步。

Drupal版本:

第4章 集成上下文链接

admin 的头像
Submitted by admin on 星期四, 2015-09-17 09:19

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
其实我一直有一个这样的想法,当我决定为每个页面创建一个面包屑对象的时候,就有了这样的想法,在面包屑这片内容上面输出一个上下文链接,可以方便的添加、配置面包屑:

Drupal版本:

13 总结

admin 的头像
Submitted by admin on 星期四, 2015-09-17 09:18

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
通过本章的学习,我们实现了:

Drupal版本:

12 实现hook_rules_file_info

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

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
这个其实是一个很小的问题了,我在阅读rules的相关代码的时候,注意到,很多地方实现了这个钩子。此外部分第三方模块也实现了这个钩子函数,比如views_rules这个模块,它是这样实现的:

Drupal版本:

页面

Subscribe to Think in Drupal RSS