用面板覆盖分类法页面,并为节点提供基于分类法的面包屑路径

| 我有一个页面,其中使用基本分类法对节点进行了分类(例如,“物种”->动物->哺乳动物->猿)。 我想用面板覆盖分类页面 我还想确保所有节点都基于默认分类法得到一个不错的面包屑 我已经分别成功解决了#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\']);
  }  
}
    

要回复问题请先登录注册