getResourceField

Что такое getResourceField?

getResourceField — это простой сниппет, который можно использовать для отображения одного поля любого ресурса в MODX Revolution, в том числе переменные шаблона (TV).

История

getResourceField впервые был выпущен 16 сентября 2010 года paulmerchant-ом, в сооавторстве с Шоном Маккормиком.

Скачать

Сниппет можно установить через Менеджер пакетов (Package Manager) или скачать вручную из репозитория.

Использование

Минимальный вызов тега выглядит так:

Выведет pagetitle текущего ресурса.

Параметры getResourceField

ИмяОписаниеЗначение по умолчанию
id ID ресурса, поле которого мы хотим получить. $modx->resource->get('id')
field Имя поля или переменной шаблона (TV), значение которого нужно вернуть. ?pagetitle
isTV Когда установленно 1 или true поле считается переменной шаблона. false
processTV Когда установлеено 1 или true переменная шаблона будет обрабатываться в соответствии со своими настройками вывода. false
default Значение (строка), которое будет показано, если поле не найдено, либо пустое.  

Примеры

Возвращает pagetitle ресурса с ID 123:

Возвращает обработанную переменную шаблона родительского ресурса с именем myTV и если значение пустое, выводит "Извините, нет данных":

Возвращает поле introtext абсолютного родителя (имейте ввиду, что для этого требуется, чтобы сниппет UltimateParent был установлен):

Ошибки

Есть одна ошибка, когда этот сниппет может тонко обмануть: вы можете создать петлю перенаправлений. Расмотрим пример, в котором вы опредилил переменную шаблона на вашей главной странице, например и вы используете ее же в вашем вызове сниппета getResourceField:

Если переменная шаблона не задана, то по умолчанию будет использоваться идентификатор текущей страницы. Если вы вызовете сниппет внутри содержимого страницы и запросите содержимое страницы в качестве поля, ваш сниппет "упадет в кроличью нору" и будет бесконечно ссылаться на самого себя, в результате чего вы получите сообщение о том, что на странице слишком много переадресаций.

Вывод: если сниппет находится внутри того же поля, которые вы запрашиваете (например, content), то убедитесь, что параметр "идентификатор" никогда не указывает на текущю страницу.

  • Реклама

  • Недавние публикации

  • Недавние комментарии

© 2011 — 2014 MODX Беларусь
По всем вопросам обращаться в компанию Alroniks Experts