Jump to main content Jump to doc navigation

Что такое BreadCrumb?

BreadCrumb это сниппет для MODX Revolution, вдохновлённый сниппетом Breadcrumbs.

Как и оригинальный Breadcrumbs, этот сниппет строит навигацию «хлебные крошки» и добавляет новые возможности: свойства шаблонов и работу с конкретным ID ресурса.

Требования

  • MODX Revolution 2.0.x или новее
  • PHP5 или новее

Публичные релизы

Version Date Author Product
1.4.4-pl October 1, 2019 ------------------- Revolution
1.4.3-pl March 7, 2015 ben_omycode & Jako Revolution
1.4.2-pl August 12, 2014 ben_omycode Revolution
1.4.1-pl August 7, 2014 ben_omycode Revolution
1.4.0-pl August 6, 2014 ben_omycode Revolution
1.3.2-beta1 December 11, 2012 ben_omycode Revolution
1.3.1-pl November 16, 2012 ben_omycode Revolution
1.3.0-pl August 28, 2012 ben_omycode Revolution
1.2.0-pl August 22, 2012 ben_omycode Revolution
1.1.0-pl April 24, 2012 ben_omycode Revolution
1.0.0-pl February 6, 2012 ben_omycode Revolution
1.0.0-beta3 November 19, 2011 ben_omycode Revolution
1.0.0-beta2 November 18, 2011 ben_omycode Revolution

Загрузка

Пакет можно установить через менеджер MODX Revolution в разделе Package Management или скачать из репозитория MODX Extras: https://modx.com/extras/package/breadcrumb

Поддержка, комментарии, разработка и сообщения об ошибках

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

Сниппет BreadCrumb вызывают так:

[[BreadCrumb]]

Свойства BreadCrumb

Name Description Default Version
from ID ресурса, с которого строятся крошки 0 1.1.0-pl
to ID ресурса, для которого строятся крошки current resource ID 1.1.0-pl
exclude Список ID ресурсов через запятую, которые исключить из крошек 1.4.0-pl
maxCrumbs Максимум крошек в цепочке. Шаблон разделителя настраивается через maxCrumbTpl 100
showHidden Показывать скрытые ресурсы в крошках 1
showContainer Показывать контейнеры в крошках 1
showUnPub Показывать неопубликованные ресурсы в крошках 1
showCurrentCrumb Показывать текущий ресурс как крошку 1
showBreadCrumbAtHome Показывать BreadCrumb на главной странице 1
showHomeCrumb Показывать главную как крошку. С версии 1.4.0-pl логика упрощена: &showHomeCrumb=1 добавляет крошку главной в начало, &showHomeCrumb=0 скрывает её, если она уже есть. 1
useWebLinkUrl Использовать URL веб-ссылки вместо URL самой веб-ссылки 1 1.0.0-beta3
direction Направление крошек: слева направо (ltr) или справа налево (rtl), например для арабского ltr
scheme Формат генерации URL. Возможные значения по modX.makeUrl: modx link_tag_scheme setting 1.2.0-pl

Допустимые значения scheme:

  • -1 : (по умолчанию) URL относительно site_url
  • 0 : см. http
  • 1 : см. https
  • full : абсолютный URL с site_url из конфигурации
  • abs : абсолютный URL с base_url из конфигурации
  • http : абсолютный URL, принудительно http
  • https : абсолютный URL, принудительно https

Свойства шаблонов

@CODE больше не поддерживается с версии 1.4.0-pl. Используйте @INLINE.

Name Description Default Version
containerTpl Имя чанка с шаблоном контейнера крошек. Также путь к файлу (@FILE ) или код чанка (@INLINE ). см. BreadCrumb.containerTpl
homeCrumbTpl Имя чанка с шаблоном крошки главной. Также путь к файлу (@FILE ) или код чанка (@INLINE ). см. BreadCrumb.homeCrumbTpl 1.4.0-pl
currentCrumbTpl Имя чанка с шаблоном текущей крошки. Также путь к файлу (@FILE ) или код чанка (@INLINE ). см. BreadCrumb.currentCrumbTpl
linkCrumbTpl Имя чанка с шаблоном обычной крошки. Также путь к файлу (@FILE ) или код чанка (@INLINE ). см. BreadCrumb.linkCrumbTpl
categoryCrumbTpl Имя чанка с шаблоном крошек категорий. Может быть файл (@FILE ) или код (@INLINE ). см. BreadCrumb.categoryCrumbTpl 1.3.2-beta1
maxCrumbTpl Имя чанка с шаблоном разделителя при превышении maxCrumbs. Также путь к файлу (@FILE ) или код чанка (@INLINE ). см. BreadCrumb.maxCrumbTpl

Примеры

Показать крошки текущего ресурса

[[BreadCrumb]]

Показать крошки ресурса с ID 72

[[BreadCrumb? &to=`72`]]

Показать крошку главной в начале цепочки

[[BreadCrumb? &showHomeCrumb=`1`]]

Показать крошки ресурса с ID 72, начиная с родителя уровня 2

[[BreadCrumb? &from=`[[UltimateParent? &topLevel=`2`]]` &to=`72`]]

Изменить направление крошек: rtl (справа налево) или ltr (слева направо)

[[BreadCrumb? &direction=`rtl`]]

Исключить некоторые ресурсы

[[BreadCrumb? &exclude=`23,135`]]

Использовать пользовательские шаблоны

[[BreadCrumb? &linkCrumbTpl=`myLinkCrumbTpl`]]
[[BreadCrumb? &linkCrumbTpl=`@INLINE <li><a href="[[+link]]">[[+pagetitle]]</a></li>`]]
[[BreadCrumb? &linkCrumbTpl=`@FILE [[++assets_path]]my_link_crumb_tpl.html`]]

Миграция со сниппета Breadcrumbs

BreadCrumb вдохновлён сниппетом Breadcrumbs. Часть свойств Breadcrumbs убрали, но те же задачи решаются через BreadCrumb, только иначе.

crumbSeparator

Раньше:

[[Breadcrumbs? &crumbSeparator=`>`]]

Используйте CSS:

#breadcrumb li + li:before{
    content:  '>';
    margin:   0 2px;
}

Раньше:

[[Breadcrumbs? &currentAsLink=`1`]]

Новый вариант:

[[BreadCrumb? &currentCrumbTpl=`myCurrentCrumbTpl`]]

Чанк myCurrentCrumbTpl:

<li><a href="[[+link]]">[[+pagetitle]]</a></li>

descField

Раньше:

[[Breadcrumbs? &descField=`longtitle`]]

Новый вариант:

[[BreadCrumb? &linkCrumbTpl=`myLinkCrumbTpl` &currentCrumbTpl=`myCurrentCrumbTpl`]]

Чанки myLinkCrumbTpl и myCurrentCrumbTpl:

<li><a href="[[+link]]" title="[[+longtitle]]">[[+pagetitle]]</a></li>

homeCrumbDescription

Раньше:

[[Breadcrumbs? &homeCrumbDescription=`Home`]]

После:

[[BreadCrumb? &containerTpl=`myContainerTpl`]]

Чанк myContainerTpl:

<ul>
    <li><a href="[[++site_url]]">Home</a></li>
    [[+crumbs]]
</ul>

homeCrumbTitle

Раньше:

[[Breadcrumbs? &homeCrumbTitle=`Home`]]

После:

[[BreadCrumb? &containerTpl=`myContainerTpl`]]

Чанк myContainerTpl:

<ul>
    <li><a href="[[++site_url]]" title="Home">Home</a></li>
    [[+crumbs]]
</ul>

maxDelimiter

Раньше:

[[Breadcrumbs? &maxDelimiter=`(...)`]]

После:

[[BreadCrumb? &maxCrumbTpl=`myMaxCrumbTpl`]]

Чанк myMaxCrumbTpl:

<li>(...)</li>

titleField

Раньше:

[[Breadcrumbs? &titleField=`menutitle`]]

После:

[[BreadCrumb? &linkCrumbTpl=`myLinkCrumbTpl` &currentCrumbTpl=`myCurrentCrumbTpl`]]

Чанки myLinkCrumbTpl и myCurrentCrumbTpl:

<li><a href="[[+link]]">[[+menutitle]]</a></li>

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • CrewMark
  • Fabian Christen
  • Sepia River Studios
  • Dannevang Digital
  • Alex
  • A. Moreno
  • Chris Fickling
  • Stéphane Jäggi
  • Murray Wood
  • Anton Tarasov
  • deJaya
  • JT Skaggs
  • Lefthandmedia
  • eydolan
  • Following Sea
  • Guido Gallenkamp
  • YJ
  • Raffy
  • Snow Creative
  • Nick Clark
  • Guest
  • Helen
  • krisznet
  • Yanni
  • Richard

Budget

$204 per month—let's make that $500!

Learn more