pdoTitle

07 февраля 2016, 14:58

Сниппет выводит оформленный тег title на страницу сайта, который состоит из имени страницы, имён родителей этой страницы и, других параметров.

В первую очередь он предназначен для визульного различия документов с постраничной навигацией.

Параметры

Сниппет не принимает никаких общих параметров pdoTools, из-за специфики своей работы. Но передаёт все полученные параметры во вложенный вызов pdoCrumbs.

Параметр По умолчанию Описание
&id 0 Идентификатор ресурса.
&limit 3 Лимит выборки родителей ресурса.
&titleField longtitle Поле текущего ресурса для вывода в заголовке страницы.
&cache Кэширование выборки родителей ресурса для заголовка страницы.
&cacheTime 0 Время актуальности кэша, в секундах.
&tplPages @INLINE ... Шаблон оформления пагинации в заголовке страницы.
&pageVarKey page Имя переменной для поиска номера страницы в url.
&tplSearch @INLINE ... Шаблон оформления поискового запроса в заголовке страницы.
&queryVarKey query Имя переменной поискового запроса в url.
&minQuery 3 Минимальная длина поискового запроса для вывода в заголовке страницы.
&outputSeparator / Разделитель элементов в заголовке страницы.
&registerJs 1 Вставить на страницу javascript с переменными для поддержки &ajaxMode сниппета pdoPage.

Поддержка навигации

pdoTitle определяет, когда на страницу был передан параметр &pageVarKey и выводит в title указание на это. ]

Функция работает и при включенном &ajaxMode сниппета pdoPage, тогда заголовок меняется без перезагрузки страницы.

Поддержка поиска

Если в url был передан параметр &queryVarKey, то сниппет вставит для него чанк &tplSearch в тег.

По умолчанию вставляется плейсхолдер [[+mse2_query]] сниппета mSearch2.

Кэширование

pdoTitle нужно вызывать некэшированным, чтобы он мог реагировать на параметры в url, но вы можете кэшировать внутренний вызов выборки родителей ресурса, который работает через pdoCrumbs.

Экономия выйдет небольшой, потому что для title не нужно выбирать много ресурсов, но такая функция может пригодиться на слабых хостингах.

Javascript переменные

Если включен параметр &registerJs, то сниппет вставит в страницу свои переменные в объекте pdoTitle.

Вы можете найти там разделитель элементовtitle и шаблон оформления постраничной навигации.

Примеры

Обычный вызов на странице:

<title>[[!pdoTitle]] / [[++site_name]]</title>

Вызов с увеличенной выборкой родителей ресурса и кэшированием:

<title>[[!pdoTitle?limit=`5`&cache=`1`]] / [[++site_name]]</title>