Drupal:自定义痕迹中的反向链接

时间:2013-10-23 21:13:38

标签: php drupal-7 breadcrumbs theming

在我的Drupal7上有一个视图(结果)宽度一个暴露的过滤器,用于列出节点。

单击某个节点然后显示面包屑

离。

  

主页>>结果>>节点标题

太好了!

但我会将面包屑'结果'作为反向链接。

输入ex。 t 然后网址为:

  

http://www.site.com/results?title=t

我在'results'面包屑中尝试上面的url作为varbele。

我希望你明白这一点。

这是否可以使用自定义面包屑中的php片段?

1 个答案:

答案 0 :(得分:3)

是的,这是可能的:)

这里棘手的部分是让您的代码“记住”查询来自节点列表的内容。一种选择是向所有节点链接添加$ _GET参数。

为清楚起见:

如果你在

http://www.site.com/results?title=t

指向该结果列表上给定节点的链接将是:

http://www.site.com/node/56?title=t

这可以通过修改链接的输出在视图中完成。不应该太难。

然后,要修改面包屑,您需要将这样的函数添加到template.php

function THEME_NAME_breadcrumb($variables) {
  $breadcrumb = $variables['breadcrumb'];

  // check to ensure this is the one you want to alter
  // Custom rebuild process of breadcrumb with custom links.
  if ($breadcrumb[1] == 'your_breadcrumb_id') {

    // Keeping the trail/current page as non linked
    $links[1] = l(t('results'), 'results', array('query' => array('title' => $_GET['title'])));
    drupal_set_breadcrumb($links);
  }
}

(检查我的代码是否有语法,未经测试)

祝你好运!