Опубликовано автор в категориях CMS, Drupal.

Недавно я уже писал о «хлебных крошках» в Drupal. В предыдущем обзорном посте я рассказывал о не скольких модулях для создания цепочки навигации, среди них был и модуль Custom Breadcrumbs, который позволяет задавать пользовательские правила для цепочки навигации и управлять ими с помощью специальных PHP-выражений. Однако не все под силу этому модулю, вернее стабильная 1.x версия модуля не позволяет сделать цепочку для страниц созданных с помощью модуля Views. На данный момент существует бета версия 2.x, которая поддерживает страницы созданные Views, но использовать бету в продакшн проектах не рекомендуется. Поэтому нужно было создать специальное решение, которое бы позволило добавлять пользовательские «хлебные крошки» к страницам созданным с помощью Views.

Это решение я нашел на страницах блога civicactions.com.
Допустим, у нас есть страница определенного вида следующей иерархии:

|— Команда (пункт меню)
| —- Популярное 1 (вкладка по умолчанию)
| —- Популярное 2 (вкладка)
| —- Популярное 3 (вкладка)

Теперь представим, что вместо того, чтобы иметь цыпочку навигации обычного вида «Главная>» или «Главная> Команда>» нам нужно что-то вроде «Главная> Наша команда> Популярное 1» для вкладки по умолчанию. Для этого нам нужно добавить следующий PHP код в заголовок вида страницы с включенным PHP фильтром:

<?php
global $base_url;
$breadcrumb[] = l('Home', null);
$breadcrumb[] .= l('Our Team', 'team');
$breadcrumb[] .= l(drupal_get_title(), $base_url.$_SERVER['REQUEST_URI']);
drupal_set_breadcrumb($breadcrumb);
?>


Это и позволит сгенерировать цепочку заданного вида для данной страницы. Вот и все.

P.S.
Мысли о комфорте и уюте…

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

Также неотъемлемой частью комфортной жизни является наличие праздников среди потока будней. Как приятно посидеть на хорошем юбилее в дорогом хорошо оформленном банкетном зале. А оформить банкетный зал можно по разному. Например, оформление воздушными шарами добавит немало комфорта и эстетики к праздничному событию.

8 комментариев к записи “В продолжение темы «хлебных крошек» в Drupal”

    • hiway

      Нет. Данный синтаксис используется в выражениях Drupal когда нужно вывести какое либо содержимое в рамках свойств переменной.

      Ответить
          • hiway

            Смотрите. Данная форма синтаксиса подразумевает присоединение значений к переменной. В данном случае выводится строка цепочки навигации, обращаясь к параметрам одной переменной.
            Например, подобная форма записи используется в модуле Tabs в файле tabs.theme.inc для формирования html кода вывода разметки табов. Кусочек кода для примера:

            $output = '';
              $output .= ''. $element['#description'] .'';
              $output .= '';
          • xandeadx

            это всё известно, но что вы присоединяете к пустому элементу массива который создаёте с помощью пустых квадратных скобок?
            $breadcrumb[] .= l('Our Team', 'team');
            это вообще лишено смысла =) правильней будет так:
            $breadcrumb[] = l('Our Team', 'team');

  1. Rooner

    Во-первых:
    $breadcrumb[] = l(‘Home’, null);
    Что такое «l»? У меня на нее ругается(когда я просто в хэдэр темы вставил этот код).
    Во-вторых:
    Как в заголовок вставлять текст, если доступны только 2 формата: Filtered HTML и Full HTML? Они же не поддерживают php.

    Ответить

Оставить комментарий

  • (не будет показан)