4为模板新增变量$classes
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们其实在前面已经讲过了,如何新增一个变量。不过我们在Drupal核心的模板文件里面,经常看到这样的代码:
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们其实在前面已经讲过了,如何新增一个变量。不过我们在Drupal核心的模板文件里面,经常看到这样的代码:
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们前面忘记介绍了一点,就是什么时候改用template_preprocess_breadcrumb了,以前我们都是用的breadcrumb2_preprocess_breadcrumb,在调试breadcrumb.tpl.php无法在当前主题下面覆写的时候,我就把它改过来了。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
好吧,关于breadcrumb.tpl.php在当前主题下面的覆写,我们先介绍到这里。我们已经找到了一个解决办法。现在我们来看另外一个问题,我们知道page.tpl.php它是有模板建议的,而我们的breadcrumb.tpl.php现在还没有这个功能,现在就为它添加模板建议。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
如果,我们提供了breadcrumb.tpl.php,但是却无法在当前主题下面覆写的话,这个模板文件的作用就大打折扣了。从发现这个问题以后,我就多次尝试去解决它。首先是借助于Google,有什么技术问题,先问Google。这是我在Google上使用的搜索词“hook_theme_registry_alter template file could not be override”。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们前面,已经为Breadcrumb2实现了上下文链接,在里面也提到一个问题,就是将breadcrumb.tpl.php复制到当前主题下面,不起作用的问题。还有一些其它的问题,以及可以改善的地方。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
通过本章的学习,我们成功的实现了为breadcrumb.tpl.php文件添加上下文链接的功能,与此同时,我们还学习了contextual模块的机制,以及如何通过预处理函数为模板文件添加变量 。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
在一个实际的项目中,面包屑是添加到Panels的窗格里面去的。如果节点页面不使用Panels的话,就正常,使用了Panels,把面包屑放到Panels的窗格里面输出的话,就不正常了。你可以通过这个步骤重现这个问题,在panels的内容页面,为某一个区域添加内容,在弹出的对话框里面,左边选择页面元素(page elements),此时右边就会有面包屑可以添加,添加后,就会出现我们这里所说的问题。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
问题的地址:http://drupal.org/node/1863864。当使用普通用户,或者匿名用户访问时,总是报这样的错误信息: