Оглавление

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

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

Результат работы сниппета pdoTitle

Параметры

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

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

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

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

pdoTitle - поддержка навигации

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

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

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

pdoTitle - поддержка поиска

Кэширование

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

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

Javascript переменные

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

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

Примеры

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

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

/* pdoParser */
<title>{$_modx->runSnippet('!pdoTitle')} / {$_modx->config.site_name | htmlent}</title>

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

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

/* pdoParser */
<title>{$_modx->runSnippet('!pdoTitle', ['limit' => 5,'cache' => 1])} / {$_modx->config.site_name | htmlent}</title>