[Modx Evo] Как создать цепочку меню для Modx (Хлебные крошки)
Часто требуется создать цепочку элементов меню. Обычно она имеет такой вид:
Главная » Раздел3 |
И отображается вверху страницы. Эта функция необходима для удобства пользователей.
Итак, приступим. В modx есть встроенный сниппет - [[Breadcrumbs]]
Для того что бы им воспользоваться необходимо в шаблоне сайта прописать:
[[Breadcrumbs]] либо [!Breadcrumbs]]
В данном случае используем именно 1 вариант, так как нам не надо обновления данных каждый раз при обновлении одной и той же страницы.
Хлебные крошки со стилями
В шаблон пишем:
<div id="bread"><span>[</span>[Breadcrumbs]]</div>
Отображается он на всех страницах, кроме первой.
Настроим стили для нашей цепочки:
#bread {
top: 20px;
text-align:left;
}
#bread a{
font-size : 14px;
color:#333;
}
Можно использовать дополнительные параметры:
[[Breadcrumbs? &имя_параметра1=`значение` &имя_параметра2=`значение`]]
Параметры Breadcrumbs
Общие настройки:
- &maxCrumbs — максимальное число пунктов в цепочке.
Возможные значения: целое число.
По умолчанию: 100.
Примечание: если установлено число меньше возможного количества пунктов, то посредине цепочки появится многоточие «...» вместо лишних пунктов. - &respectHidemenu — скрывать пункты, не помеченные для показа в меню.
Возможные значения: 0 - отображать | 1 - скрывать.
По умолчанию: 1.
Примечание: включать и отключать пункты для показа в меню можно на странице редактирования ресурса на вкладке «Общие». галочка «Показывать в меню». - &showCurrentCrumb — показывать в цепочке пункт с названием текущей страницы.
Возможные значения 0 - не показывать | 1 - показывать.
По умолчанию: 1.
Примечание: с помощью этого параметра можно отключить отображение последнего пункта в цепочке. - ¤tAsLink — отображать пункт текущей страницы в виде ссылки или в текстовом виде.
Возможные значения 0 - текст | 1 - ссылка.
По умолчанию: 0.
Примечание: по умолчанию этот параметр отображает пункт текущей страницы в виде простого текста, если вы захотите отобразить пункт в виде ссылки на текущую страницу, выставьте значение 1. - &linkTextField — название пунктов в цепочке навигации.
По умолчанию: menutitle или pagetitle.
Возможные значения: description | longtitle | pagetitle | menutitle.
Примечание: от этого параметра зависит, какое поле будет браться для формирования названия пунктов цепочки навигации. По умолчанию название пункта цепочки будет совпадать с названием пункта меню, которое можно изменить на странице редактирования ресурса в поле «Пункт меню». - &linkDescField — атрибут title для ссылок в цепочке навигации.
По умолчанию: description.
Возможные значения: pagetitle, longtitle, description, menutitle.
Примечание: значение атрибута title всплывает при наведении мышки на ссылку в цепочке навигации. По умолчанию берется значение поля «Описание», которое можно изменить на странице редактирования ресурса. - &showCrumbsAsLinks — пункты цепочки навигации являются ссылками или текстом.
Возможные значения: 0 - текст | 1 - ссылки.
По умолчанию: 1.
Примечание: можете установить значение 0, если по какой-то причине хотите, чтобы цепочка навигации была некликабельна и отображалась в виде текста. - &crumbGap — строка, которая будет представлять собой разрыв цепочки навигации.
Возможные значения: строка.
По умолчанию: многоточие «...».
Примечание: вы можете указать какие символы будут разрывать цепочку навигации, если количество пунктов в цепочке больше указанного в &maxCrumbs значения. - &stylePrefix — приставка в названиях CSS классов.
Возможные значения: строка.
По умолчанию: B_.
Примечание: значение этого параметра определяет префикс в названии CSS классов. Чуть выше мы уже отметили, какие классы используются при выводе HTML разметки и за что они отвечают.
Настройки для ссылки на главную страницу:
- &showHomeCrumb — отображать ссылку на главную страницу.
Возможные значения: 0 - не отображать | 1 - отображать.
По умолчанию: 1.
Примечание: по умолчанию в начале цепочки навигации отображается ссылка на главную страницу, даже если ее нет в иерархии текущего документа. - &homeId — идентификатор страницы, которая будет считаться главной.
Возможные значения: целое число.
По умолчанию: $modx->config['site_start'].
Примечание: по умолчанию главной страницей будет считаться та, идентификатор которой указан на странице системной конфигурации в поле «Первая страница». - &homeCrumbTitle — текст пункта главной страницы в цепочке навигации.
Возможные значения: строка.
По умолчанию: menutitle или pagetitle.
Примечание: использовать этот параметр вы можете в том случае, когда захотите, чтобы текст пункта главной страницы отличался от названия пункта меню главной страницы или заголовка страницы, которые можно изменить при редактировании ресурсов. Например, некоторые разработчики вписывают вместо названия «Главная страница» в цепочке навигации название домена. - &homeCrumbDescription — пользовательский текст, который может быть использован в качестве атрибута title для ссылки на главную страницу.
Возможные значения: строка.
По умолчанию: значение, указанное в параметре linkDescField.
Примечание: если поле оставить пустым, то текст для атрибута title будет определяться параметром &linkDescField. При желании можете вписать текст, который всплывет при наведении курсора на ссылку. Например, «Перейти на главную страницу»
Настройки для отображения цепочки навигации на различных страницах:
- &showCrumbsAtHome — отображать цепочку навигации на главной странице.
Возможные значения: 0 - не отображать | 1 - отображать.
По умолчанию: 1.
Примечание: с помощью этого параметра можно отключить показ цепочки навигации на главной странице. - &hideOn — не отображать цепочку навигации на страницах
Возможные значения: разделенные запятыми идентификаторы страниц, на которых не должна отображаться цепочка навигации.
Примечание: этот параметр удобно использовать для небольшого количества страниц, на которых в качестве исключения не нужен вывод строки навигации. Если же таких страниц много, то лучше воспользоваться параметром &hideUnder либо подумать над созданием еще одного шаблона. - &hideUnder — не отображать цепочку навигации на дочерних страницах
Возможные значения: разделенные запятыми идентификаторы папок, на дочерних документах которых не должна отображаться стока навигации.
Примечание: указание ID папок скрывает строку навигации только на дочерних страницах. Если вы хотите, чтобы строка не отображалась как на дочерних, так и на родительских страницах, добавьте ID родительских ресурсов как в &hideUnder так и в &hideOn.