如何解决用面板覆盖分类法页面,并为节点提供基于分类法的面包屑路径
| 我有一个页面,其中使用基本分类法对节点进行了分类(例如,“物种”->动物->哺乳动物->猿)。 我想用面板覆盖分类页面 我还想确保所有节点都基于默认分类法得到一个不错的面包屑 我已经分别成功解决了#1和#2的问题,但是无法让它们一起玩。 对于#1,我发现的最佳解决方案是在/ admin / build / pages中激活\“分类术语模板”。优秀的指南可以在http://drupaleasy.com/blogs/ultimike/2010/10/taxonomy-term-pages-steroids-using-panels-views找到 对于#2,“定制面包屑”模块(带有“定制分类法面包屑”子模块)和“分类法面包屑”均是如此。不幸的是,这两种方法都劫持了#1使用的同一个钩子,从而禁用了#1。 如何同时实现两个目标?非常感谢!解决方法
对于#2,您可以使用“自定义面包屑”。
我不确定版本6.x-1.x,但是我可以确认6.x-2.0可以正常工作。
您需要做的是:
启用两个子模块分类学的定制面包屑和面板的定制面包屑
在“自定义面包屑配置”页面上进行设置
在面板的配置页面底部,使“面板的自定义面包屑”的权重最高(以覆盖“分类法”中的“自定义面包屑”,而“面包屑”本身不会与面板相处)
但是,自定义面包屑是在面板之后构建的,因此您实际上不能在面板中使用它。但是您可以在面板外部的page.tpl.php中打印它。
编辑:
似乎自定义面板面包屑与它无关:)
它只是在配置页面上显示了一个非常令人误解的文本(\“使用分类法面包屑用于面板\”)。
经过更多的研究,结果证明当
panels
的权重小于weight1ѭ时的权重是有效的(请参见数据库中的表system
)。
如果您确实想在面板中显示面包屑,可以使用以下(hack-ish)方法进行操作:
配置分类法面包屑
确保系统表中的权重正确,如所说明
在页面面板中添加面包屑
添加一个预处理功能,将面板中的面包屑替换为由custom_breadcrumbs_taxonomy构建的最终面包屑,例如:
(注意:我的面板是页面类型,位于content
部分)
function abn_preprocess_page(&$vars) {
$old_breadcrumb = strstr( strstr($vars[\'content\'],\'<div class=\"breadcrumb\">\'),\'</div>\',true);
if ($old_breadcrumb) {
$old_breadcrumb .= \'</div>\';
$vars[\'content\'] = str_replace($old_breadcrumb,$vars[\'breadcrumb\'],$vars[\'content\']);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。