Таксономия панировочных сухарей


8

Я использую основной модуль таксономии для тегов блога, но когда на странице тега может появиться только «хлебная крошка» как «Домой», тогда как в идеале мне бы хотелось, чтобы это было «Home> Blog> # Tag #». Я использую настраиваемый модуль хлебных крошек для установки хлебных крошек для типов контента (<- не допускает таксономические хлебные крошки) и пытался использовать таксономический модуль хлебных крошек без какого-либо результата, отчасти из-за того, что это не особо настраиваемый модуль. Страницы тегов блога (перечисляющие все узлы под термином), по-видимому, генерируются из основного модуля таксономии, а не из представлений, поэтому я не могу решить проблему в представлениях.

Если бы кто-нибудь мог указать мне правильное направление, я был бы благодарен :)

Ответы:


3

Это звучит как то, что вы можете сделать относительно легко drupal_set_breadcrumbв пользовательском модуле.

Скорее всего, это то, что использует пользовательский модуль Breadcrumb. Вам нужно будет изменить крошки после пользовательского модуля крошки, но до того, как они будут обработаны. Это может быть причиной проблем с модулем таксономии.

Вы можете использовать его, если вы измените его вес в системной таблице, в зависимости от того, как два модуля изменяют хлебные крошки. Я думаю, что это сделано сhook_init


9

Это может быть достигнуто путем переопределения theme_breadcrumb () в template.php вашей темы. Пример реализации:

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(' &gt; ', $breadcrumb) . '</div>';
  }
}

4

Для этого есть модуль (а не один):

Вероятно, выбрал бы пользовательские панировочные сухари из-за его гибкости и способности создавать хлебные крошки для остальной части вашего сайта.


Я использую custom_breadcrumbs, но не могу настроить хлебные крошки для терминов таксономии в зависимости от типа контента.
KenAesthetic

2

У меня была такая же проблема с таксономиями. Я наткнулся на модуль «Легкие хлебные крошки», который не учитывает конструкцию URL для генерации хлебных крошек (полагается на Pathauto и Чистые URL).

Например:

example.com/style/mediterranean

Главная> Стиль> Средиземноморье

Я понимаю, что во многих случаях это не поможет, но если ваши хлебные крошки имитируют структуру вашего URL, то Easy Breadcrumbs должны решить ваши проблемы.



1

Я использовал отображение таксономии и обнаружил, что drupal_set_breadcrumb()происходит сбой, hook_init()а переопределения хлебной крошки не выполняются в других модулях.

Посмотрите эту проблему, чтобы найти исправление и предлагаемое решение для пользователей этого модуля: обработка хлебных крошек делает невозможным изменение крошек для условий без родителей


1

С крошками 7.x-2.x:

  1. Зайдите на страницу admin / structure / crumbs и включите подстановочный знак плагина таксономии. * Или еще что-то из семейства плагинов таксономии. (он может быть уже включен, но посмотрите, чтобы быть уверенным)

  2. Перейдите admin/structure/crumbs/entity-parent/taxonomy-termи установите «блог» в качестве родительского пути для выбранного словаря.

  3. Посетите admin / structure / crumbs, убедитесь, что включен crumbs.entityParent. * (Или что-то более конкретное).

С крошками 7.x-1.x:

  1. Зайдите на страницу admin / structure / crumbs и включите подстановочный знак плагина таксономии. * Или еще что-то из семейства плагинов таксономии. (он может быть уже включен, но посмотрите, чтобы быть уверенным)

  2. Напишите собственный модуль с плагином Crumbs (*), который делает «блог» родительским путем для таксономии / term /% taxonomy_term.

  3. Зайдите на страницу admin / structure / crumbs, включите ваш новый плагин и присвойте ему приоритет более слабый (далее вниз), чем таксономия. * Или taxonomy.termParent. *.

(*) Написание плагина: http://drupal.org/node/1398876
Пример может быть немного излишним для этой цели, я надеюсь, вы сможете найти свой путь.


В ветке Crumbs 7.x-2.x вместо пользовательского плагина на шаге 2 вы можете указать шаблон токена, чтобы установить «блог» в качестве родительского пути для страниц терминов таксономии.
Donquixote
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.