2011-05-01 48 views
0

我有哪里节点使用基本分类法分类页面分类为基础的导航条(比方说,“种” - >动物 - >哺乳动物 - >猿)。覆盖分类页面与面板,并为节点

  1. 我要重写与面板分类页面
  2. 我也希望确保所有节点获得基于默认分类

我已经成功地单独解决#1和#2一个漂亮的面包屑,但不能让他们一起玩。

#1我发现被激活“一词分类模板”最好的解决方案/管理/建设/页)。优异的指南可以在http://drupaleasy.com/blogs/ultimike/2010/10/taxonomy-term-pages-steroids-using-panels-views

找到对于#2两者Custom Breadcrumbs模块(与自定义分类面包屑子模块)和Taxonomy Breadcrumbs。不幸的是,两种方法都劫持#1使用的同一个钩子,并且这样做会禁用#1。

我如何能实现这两个目标同时放?非常感谢!

回答

1

#2,您可以使用自定义面包屑。 我不确定版本6.x-1.x,但我可以确认6.x-2.0正常工作。 你需要做的是:

  • 使子模块自定义面包屑的分类自定义面包屑配置自定义面包屑的面板
  • 处理事情
  • 使自定义面包屑为面板最高的权重,在配置页面的底部(覆盖自定义面包屑的分类其自身不与面板相处)

但是,自定义面包屑板后制作的,所以你不能真正在面板上使用它。但是您可以在面板外的page.tpl.php中打印它。

编辑:

好像自定义面包屑的面板没有什么关系呢:)

它只是显示在配置页面上的一个非常误导的文字(“使用分类为面包屑板”) 。 一些调查研究后,事实证明,它工作时panels具有更小的重量,然后custom_breadcrumbs_taxonomy(见表system在数据库中)。

如果你真的想显示在面板上的面包屑,你可以做,使用这种(黑客-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']); 
    } 
} 
+0

听起来很有趣,一个合理的解决方案。 +1直到我有机会尝试一下。非常感谢! – Victor 2011-08-12 07:15:12