Заметки о Drupal: Breadcrumbs

Date January 19th, 2012 Author Vitaly Agapov


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

– Братья Гримм «Гензель и Гретель»

Сегодняшняя коротенькая заметка касается кастомизации цепочки навигации в Drupal, то есть breadcrumbs. Дело в том, что Drupal всегда по умолчанию вставляет в начало цепочки ссылку на главную страницу, а в конец не вставляет ссылку на текущую ноду. Вполне вероятно, что это где-то можно настроить, но я не нашёл. Ещё более вероятно, что есть модуль, решающий эту проблему,но ставить лишний модуль для такой ерунды совсем не хочется.

Поэтому привожу здесь вот такой вот сниппет для template.php нашей темы.

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

  if (!empty($breadcrumb)) {
    // Уберём ссылку на Главную
    array_shift($breadcrumb);
    if ( sizeof($breadcrumb) ) {
        // Добавим текущую ноду без ссылки
        $breadcrumb[] = drupal_get_title();
        $output .= '<div class="breadcrumb">' . implode(' » ', $breadcrumb) . '</div>';
        return $output;
    }
  }
}

Tags:
Category: Drupal | No comments »

Comments

Leave a comment

 Comment Form