Breadcrumbs
MODX Wiki
Перейти
Wayfander и Breadcrumbs
JPG
Перейти
Breadcrumbs
README
Перейти

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

Обычно представляет собой полосу в верхней части страницы примерно такого вида:

Главная страница → Раздел → Подраздел → Текущая страница

Все элементы, кроме последнего, обычно являются внутренними гиперссылками.

Данный сниппет был разработан для отображения на страницах сайта пути текущей страницы. Имеется ввиду путь страницы в иерархии сайта, а не путь, которым сюда попал пользователь.

Параметры

Формат: число
Значение по умолчанию: 100
Примечание: Если этот параметр установлен равным двум, а пользователь находится на 5-ом уровне глубины, путь будет выглядеть так:
главная → ... → уровень 4 → уровень 5
Примечание. Первая сылка (на главную) не считается.

Пример:
&maxCrumbs=`5`
Формат: 1 | 0
Значение по умолчанию: 1
Примечание:
Отображать отрезок пути к неопубликованным документам в пути. Если этот параметр равен 1, то будут отображены все ссылки, исключая неопубликованные.
Например есть путь (неопубликованные в верхнем регистре):
главная → новости → СПОРТ → ходьба на лыжах → статья
При &pathThruUnPub = 1 Вы получите результат:
главная → новости → ходьба на лыжах → статья
При &pathThruUnPub = 0 получите:
главная → ходьба на лыжах → статья
отображена ссылка на главную и путь после неопубликованного документа

Пример:
&pathThruUnPub=`0`
Формат: 1 | 0
Значение по умолчанию: 1
Примечание:
Пример:
&respectHidemenu=`0`
Формат: 1 | 0
Значение по умолчанию: 1
Примечание:
Пример:
&showCurrentCrumb=`0`
Формат: 0 | 1
Значение по умолчанию: 0
Примечание:
1 - покажет текущую страницу в виде ссылки
0 - покажет текущую страницу в виде текста
Пример:
&currentAsLink=`1`
Формат: строка
Значение по умолчанию: menutitle,pagetitle,longtitle
Примечание: Варианты: pagetitle, longtitle, description, menutitle. В качестве теста ссылки будет использовано первое из этих полей, имеющее значение.
Пример:
&linkTextField=`pagetitle,longtitle,description`
Формат: строка
Значение по умолчанию: description,longtitle,pagetitle,menutitle
Примечание: Варианты: pagetitle, longtitle, description, menutitle. В качестве title ссылки будет использовано первое из этих полей, имеющее значение.
Пример:
&linkDescField=`longtitle,pagetitle,menutitle`
Формат: 1 | 0
Значение по умолчанию: 1
Примечание: Если по каким-то причинам Вы хотите, чтобы крошки были текстом, а не ссылками, установите значение 0
Пример:
&showCrumbsAsLinks=`0`
Формат: строка
Значение по умолчанию: defaultString
Примечание: Существует два шаблона, которые находятся в коде сниппета: defaultString (используется по умолчанию) и defaultList. Вы можете выбрать один из этих шаблонов или создать собственные шаблоны.
Пример:
&templateSet=`defaultList`
Формат: строка
Значение по умолчанию: ...
Примечание: Этот текст будет показан, если количество пунктов превысит максимальное число пунктов, определенное в maxCrumbs.
Пример:
&crumbGap=`>>>`
Формат: строка
Значение по умолчанию: B_
Примечание: Breadcrumbs автоматически добавят классы. Во избежание конфликтов, вы можете определить свой префикс. Описание классов:
crumbBox: класс тега span каждого пункта
hideCrumb: класс тега span для разрыва "..."
currentCrumb: класс тега span или a для текущего пункта
firstCrumb: класс тега span, которое будет применяться к первому пункту, будь то "home" или нет
lastCrumb: класс тега span последнего пункта, будь то текущая страница или нет
crumb: класс дается каждому тегу A ля промежуточных пунктов (кроме "home", "current", и "hide") homeCrumb: Класс для пункта "home"
Пример:
&stylePrefix=`Br_`
Формат: 1 | 0
Значение по умолчанию: 1
Примечание:
Пример:
&showHomeCrumb=`0`
Формат: ID документа
Значение по умолчанию: site_start
Примечание: Обычно начальной страницей "site start" считается главная страница. Но вы можете определить в качестве начальной страницы другой документ.
Пример:
&homeId=`10`
Формат: строка
Значение по умолчанию: нет
Примечание: Любая строка, которая будет отображена в ссылке на главную страницу
Пример:
&homeCrumbTitle=`Домой`
Формат: строка
Значение по умолчанию: нет
Примечание: Вы можете указать здесь текст описания для title ссылки на главную страницу. Если параметр не указывать, то в качестве значения будет использовано поле, установленное в параметре homeCrumbTitle.
Пример:
&homeCrumbDescription=`На главную`
Формат: 0 | 1
Значение по умолчанию: 0
Примечание:
Пример:
&showCrumbsAtHome=`1`
Формат: ID документов, через запятую
Значение по умолчанию: нет
Примечание: Разделенный запятыми список ID документов, на которых не надо выводить Breadcrumbs.
Пример:
&hideOn=`2,3`
Формат: ID документов, через запятую
Значение по умолчанию: нет
Примечание: Разделенный запятыми список ID документов-контейнеров, в дочерних документах которых не надо выводить Breadcrumbs.
Пример:
&hideUnder=`2,3`
Формат: ID документов, через запятую
Значение по умолчанию: нет
Примечание: Разделенный запятыми список идентификаторов документов, достигнув которых, Breadcrumbs останавливается. Это бывает полезно, к примеру, на многоязычных сайтах.
Пример:
&stopIds=`2,3`
Формат: ID документов, через запятую
Значение по умолчанию: нет
Примечание: Разделенный запятыми список ID документов, которые не должны отображаться Breadcrumbs.
Пример:
&ignoreIds=`25,26`
Формат: строка
Значение по умолчанию: »
Примечание:
Пример:
&crumbSeparator=` >> `

Шаблоны

Шаблоны Breadcrumbs находятся непосредственно в коде сниппета. Всего имеется два шаблона defaultString (используется по умолчанию) и defaultList.

$templates = array(
    'defaultString' => array(
        'crumb' => '[+crumb+]',
        'separator' => ' » ',
        'crumbContainer' => '<span class="[+crumbBoxClass+]">[+crumbs+]</span>',
        'lastCrumbWrapper' => '<span class="[+lastCrumbClass+]">[+lastCrumbSpanA+]</span>',
        'firstCrumbWrapper' => '<span class="[+firstCrumbClass+]">[+firstCrumbSpanA+]</span>'
    ),
    'defaultList' => array(
        'crumb' => '<li>[+crumb+]</li>',
        'separator' => '',
        'crumbContainer' => '<ul class="[+crumbBoxClass+]">[+crumbs+]</ul>',
        'lastCrumbWrapper' => '<span class="[+lastCrumbClass+]">[+lastCrumbSpanA+]</span>',
        'firstCrumbWrapper' => '<span class="[+firstCrumbClass+]">[+firstCrumbSpanA+]</span>'
    ),
);

Вы можете создавать собственные шаблоны или использовать один из существующих.

Примеры

Самый простой вызов сниппета без параметров выглядит так:

[!Breadcrumbs!]   // некэшируемый
[[Breadcrumbs]]   // кэшируемый

Поделитесь ссылкой

Статистика

Яндекс цитирования
© 2011 - 2023 Школа MODX
Напишите нам в Telegram