DY Breadcrumbs
"Xлебные крошки" для GetSimple CMS

Описание

Плагин DY Breadcrumbs для системы управления контентом GetSimple CMS позволяет добавить на страницы веб-сайта элемент навигации «хлебные крошки» (Breadcrumbs), предназначенный для указания пользователю его текущего местонахождения на веб-сайте.

Возможности

Полная поддержка режима Fancy URLs

DY Breadcrumbs полностью поддерживает работу функции Fancy URLs в GetSimple CMS, предоставляя возможность навигации с использование ЧПУ (человеку понятных URL).

Неограниченный уровень вложенности

DY Breadcrumbs позволяет отображать навигационную цепочку для страницы с любой степенью вложенности, поддерживаемой GetSimple CMS. При этом, при включённой функции Fancy URLs, формируеумые URL так же содержат в себе всю цепочку родительских страниц.

Сохранение приватности страниц

Все родительские страницы, отмеченные как «приватные», не отображаются в навигационной цепочке и не попадают в формируемые URL при включённой опции Fancy URLs. Благодаря этой возможности DY Breadcrumbs обеспечивает сокрытие таких страниц от посетителей веб-сайта, не ограничивая при этом возможностей по использованию навигационной цепочки.

Полный контроль над оформлением

В формируемом HTML коде DY Breadcrumbs не использует предопределённых стилей оформления и заданных разделителей. Это даёт пользователю полную свободу при встраивании навигационной цепочки в существующий дизайн веб-сайта, путём задания стилей её элементов через свойства и селекторы CSS без необходимости их переопределения.

Поддержка микроданных

Начиная с версии DY Breadcrumbs 1.4, формируемая навигационная цепочка, имеет разметку в соответствии с требованиями словаря schema.org.

Использование

Для вывода «хлебных крошек» на страницах веб-сайта, в файле шаблона темы оформления или компоненте следует разместить вызов функции:

<?php dyGetBreadcrumbs($slug, $home, $homeTitle, $parentTitleLength, $currentTitleLength, $fullPath, $useMicrodata, $useMenuData); ?>

Параметры, принимаемые функцией dyGetBreadcrumbs:

  • $slug – slug текущей страницы;
  • $home – управляет выводом ссылки на главную страницу веб-сайта, являющуюся корневым элементом навигационной цепочки:
    • $home = true - включает вывод ссылки (значение по умолчанию);
    • $home = false - отключает вывод ссылки;
  • $homeTitle – выводимое имя корневой ссылки навигационной цепочки. По умолчанию $homeTitle = false, на странице выводится имя корневой ссылки, заданное в языковом файле:
    • «Главная» – для русского языка;
    • «Home» – для английского и других языков, при отсутствии соответствующих языковых файлов;
  • $parentTitleLength – длина выводимых имён для родительских страниц в навигационной цепочке, измеряется в символах. По умолчанию $parentTitleLength = 0, что соответствует выводу полных имён. Кроме того, полное имя выводится в случае, если его длина не превышает $parentTitleLength + 3 символов. При сокращении выводимых имён родительских страниц, к ним добавляется символ многоточия;
  • $currentTitleLength – длина выводимого имени текущей страницы в навигационной цепочке. Работает аналогично параметру $parentTitleLength;
  • $fullPath - управляет способом формирования адресов родительских страниц в навигационной цепочке, необязательный параметр:
    • $fullPath = true - адрес страницы включает в себя всю цепочку родительских страниц;
    • $fullPath = false - адрес страницы включает в себя только непосредственную родительскую страницу (значение по умолчанию);
  • $useMicrodata – управляет использованием микроданных в HTML-разметке навигационной цепочки (словарь schema.org), необязательный параметр:
    • $useMicrodata = true - используются микроданные (значение по умолчанию);
    • $useMicrodata = false - микроданные не используются;
  • $useMenuData – управляет возможностью вывода в навигационной цепочке названий родительских страниц, заданных специально для использования в меню, необязательный параметр:
    • $useMenuData = true - при возможности используются названия страниц, заданные для использования в меню;
    • $useMenuData = false - всегда используются стандартные заголовки родительских страниц (значение по умолчанию).

В результате выполнения функции dyGetBreadcrumbs на странице будет напечатан набор элементов списка (ссылки на страницы, заключённые в тэги <li>), поэтому вызов функции следует заключать в HTML тэги <ul> или <ol>.

Практический пример использования DY Breadcrumbs для вывода «хлебных крошек» на текущей странице веб-сайта:

<ol>
  <?php dyGetBreadcrumbs(get_page_slug(false), true, 'Главная', 0, 0, false, false, false); ?>
</ol>

В результате выполнения приведённого кода будет сформирован следующий маркированный список:

<ol>
  <li><a href="http://dimayakovlev.ru/">Главная</a></li>
  <li><a href="http://dimayakovlev.ru/parent-page/">Родительская страница</a><li>
  <li class="current active">Дочерняя страница</li>
</ol>

Поддержка микроданных

Начиная с версии DY Breadcrumbs 1.4 при создании навигационной цепочки может использоваться семантическая разметка с использованием микроданных (словарь schema.org). При этом, формируемый HTML-код навигационной цепочки, выглядит следующим образом:

<ol itemscope itemtype="http://schema.org/BreadcrumbList">
  <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a itemprop="item" href="http://dimayakovlev.ru/"><span itemprop="name">Главная</span></a><meta itemprop="position" content="1" /></li>
  <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a itemprop="item" href="http://dimayakovlev.ru/parent-page"><span itemprop="name">Родительская страница</span></a><meta itemprop="position" content="2" /></li>
  <li class="current active" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><span itemprop="name">Дочерняя страница</span><meta itemprop="position" content="3" /></li>
</ol>

Для настройки внешнего вида «хлебных крошек» с целью их интегрирования в используемую тему оформления веб-сайта, следует использовать правила и селекторы CSS.

DY Breadcrumbs и Bootstrap

При использовании DY Breadcrumbs совместно с фрэймворком Bootstrap, просто добавьте класс breadcrumbs для элемента, обрамляющего выводимый список:

<ol class="breadcrumbs" itemscope itemtype="http://schema.org/BreadcrumbList">
  <?php dyGetBreadcrumbs(get_page_slug(false)); ?>
</ol>

История обновлений

  • 1.0 - 10/06/2015
    • Релиз плагина
  • 1.1 - 13/06/2015
    • Добавлена возможность сокращения выводимых имён для родительских страниц в навигационной цепочке.
  • 1.2 - 28/06/2015
    • Добавлена возможность выбора метода формирования адресов родительских страниц.
  • 1.3 - 23/07/2015
    • Добавлена возможность сокращения выводимого имени текущей страницы в навигационной цепочке.
  • 1.4 - 24/07/2015
    • Добавлена поддержка микроданных с использованием словаря schema.org;
    • Добавлена возможность использования для вывода в навигационной цепочке названий родительских страниц, заданных специально для использования в меню.