Answers:
这听起来像是您可以drupal_set_breadcrumb
在自定义模块中相对轻松地进行的操作。
这很可能是定制面包屑模块正在使用的自身。在自定义面包屑模块之后但呈现之前,您将不得不更改面包屑。这可能是使分类面包屑模块遇到一些问题的原因。
如果您在系统表中更改其权重,则可以使用它,具体取决于两个模块如何更改面包屑。我的猜测是hook_init
这可以通过在主题的template.php中覆盖theme_breadcrumb()来实现,示例实现:
function mytheme_breadcrumb($breadcrumb) {
if (arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2))) {
$breadcrumb = array();
$breadcrumb[] = l(t('Home'), '<front>');
$breadcrumb[] = l(t('Blog'), 'path/to/blog');
$tid = arg(2);
if ($term = taxonomy_term_load($tid)) {
$uri = entity_uri('taxonomy_term', $term);
$breadcrumb[] = l($term->name, $uri['path'], $uri['options']);
}
}
// resume normal operation
if (!empty($breadcrumb)) {
// uncomment the next line to enable current page in the breadcrumb trail
$title = drupal_get_title();
if (!empty($title)) {
$breadcrumb[] = $title;
unset($title);
}
return '<div class="breadcrumb">'. implode(' > ', $breadcrumb) . '</div>';
}
}
有一个用于该模块的模块(不止一个):
由于其灵活性以及为网站其余部分制作面包屑的能力,可能会选择自定义面包屑。
我在分类法上也遇到了同样的问题。我遇到了“轻松面包屑”模块,该模块看起来像URL构造以生成面包屑(依赖于Pathauto和Clean URL)。
例如:
example.com/style/mediterranean
首页>风格>地中海
我知道在很多情况下这无济于事,但是如果您的面包屑模仿了URL的构造,那么Easy Breadcrumbs应该可以解决您的问题。
我正在使用分类显示,发现在其他模块drupal_set_breadcrumb()
上都失败了hook_init()
并且面包屑替代失败了。
有关此模块的修补程序和为用户提供的解决方案,请参见此问题: 面包屑处理使得在没有父母的情况下无法更改术语的面包屑
使用面包屑 7.x-2.x:
访问admin / structure / crumbs,并启用分类法*插件通配符,或者从分类法插件家族中获取更具体的信息。(它可能已经启用,但是请确保一定要看一下)
转到admin/structure/crumbs/entity-parent/taxonomy-term
,然后将“博客”设置为所选词汇的父路径。
访问admin / structure / crumbs,确保已启用crumbs.entityParent。*(或更具体的内容)。
使用面包屑 7.x-1.x:
访问admin / structure / crumbs,并启用分类法*插件通配符,或者从分类法插件家族中获取更具体的信息。(它可能已经启用,但是请确保一定要看一下)
用Crumbs插件(*)编写一个自定义模块,该插件使“ blog”成为“ taxonomy / term /%taxonomy_term”的父路径。
访问admin / structure / crumbs,启用您的新插件,并给它一个比分类法*或taxonomy.termParent。*弱的优先级(进一步降低)。
(*)编写插件:
http
://drupal.org/node/1398876出于这个目的,该示例可能有些夸大其词,希望您能找到办法。