Drupal 7 хлебные крошки по образу старого Хабрахабра

Жиденькое предисловие

Итак, большинство пользователей Рунета, работающих в сфере информационных технологий, так или иначе наверняка замечали условно-необычную навигацию встречающуюся на некоторых сайтах. Кратко поясню её суть: имеется заголовок статьи и раздел/рубрика/категория к которому эта самая статья принадлежит. Причем заголовок записи будь-то анонс или полная версия содержимого всегда начинается с наименования раздела. Таким образом в H1-H2 прописаны сразу две ссылки: рубрика→линк на материал. Согласитесь, такая навигация иногда бывает удобнее типовых хлебных крошек.

Примеры кода для Drupal

Подготовим рабочую площадку. Для начала добавьте к типу материала дополнительное поле "ссылка на термин". Пусть будет обязательным для заполнения. Допустимое количество значений выставите на единицу. Чуть не забыл сказать: для нашего эксперимента я беру стандартный тип "Статья". Читатели же могут изменить код по своему усмотрению, но без дальнейших подсказок с моей стороны.

После правим файлы темы. Начинаем с тизеров. Открываем шаблон ноды (node.tpl), обычный вывод титла заменяем на:

<h2<?php print $title_attributes; ?>>
<?php
if ($node->type=='article') : // Тип ноды: статья
  $t = render($content['field_tags']); // field_tags машинное имя поля
  print strip_tags($t, '<a>').'&rarr;';
endif;
?>
<a href="<?php print $node_url; ?>"><?php print $title; ?></a>
</h2>

Далее редактируем шаблон страницы (page.tpl):

<h1 class="title" id="page-title">
<?php 
if( isset($node) and $node->type=='article') : // Сверяемся, что переменная задана
  $t = node_view($node);
  if ($t!='') print strip_tags(render($t['field_tags']), '<a>').'&rarr;';
endif;
print $title; ?>
</h1>

Результаты проделанной работы

Drupal анонсы

Вот такой вид примут мои анонсы статей.

Drupal статьи

А такой полные версии заметок.





© 2012-2014 Druweb.ru. Вы можете спокойно копировать любые материалы сайта только при наличии обратной ссылки.