BreadCrumb
Последнее обновление not available | История страницы | Улучшить эту страницу | Сообщить о проблеме
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
Budget
$204 per month—let's make that $500!
Learn moreЧто такое 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
Поддержка, комментарии, разработка и сообщения об ошибках¶
- Github: BreadCrumb
- Поддержка: MODX Community
Использование¶
Сниппет 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;
}
currentAsLink¶
Раньше:
[[Breadcrumbs? ¤tAsLink=`1`]]
Новый вариант:
[[BreadCrumb? ¤tCrumbTpl=`myCurrentCrumbTpl`]]
Чанк myCurrentCrumbTpl:
<li><a href="[[+link]]">[[+pagetitle]]</a></li>
descField¶
Раньше:
[[Breadcrumbs? &descField=`longtitle`]]
Новый вариант:
[[BreadCrumb? &linkCrumbTpl=`myLinkCrumbTpl` ¤tCrumbTpl=`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` ¤tCrumbTpl=`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
Budget
$204 per month—let's make that $500!
Learn more










