Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

Дополнение getResourceField для отображения полей MODX Revolution

Сайдбар


getResourceField – простой сниппет, предназначенный для отображения поля, включающего переменные шаблона ресурсов для MODx Revolution..

История разработки

getResourceField впервые опубликован16 Сентября 2010 paulmerchant, соавтор Shaun McCormick

Загрузка

Сниппет можно загрузить с помощью Package Manager или непосредственно из Repository.

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

Минимальный синтаксис следующий:

<code>[[getResourceField]]</code>

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

Параметры getResourceField

Имя

Описание

Значение “по умолчанию”

id

ID данных, полученных из поля

$modx->resource->get('id')

field

Возвращаемое имя поля или шаблона

?pagetitle

isTV

Если значение 1 или true поле считается переменной шаблона

false

processTV

Если значение 1 или true, переменная шаблона будет обработана согласно ее выходных данных.

false

default

Значение (строковое) возвращается, если поле не найдено или пустое


Примеры использования

Возврат pagetitle из источника с id 123:

<code>[[getResourceField? &id=`123`]]</code>



Будет сделан возврат значения TV из исходного ресурса с именем myTV, если нет данных, будет выдано сообщение 'Sorry, no data available'

<code>[[getResourceField? &id=`[[*parent]]` &field=`myTV` &processTV=`1` &default=`Sorry, no data available`]]</code>
 

Возврат поля introtext из исходника (UltimateParent snippet должен быть инсталлирован)

<code>[[getResourceField? &id=`[[UltimateParent]]` &field=`introtext`]]</code>

Ошибки

Ошибка заключается в том, что этот сниппет может зациклить редирект. В примере рассмотрен случай, в котором вы задаете шаблонную переменную на страничке, т.е. [[*featured_article]] и затем используете ее в getResourceField

Вызов сниппета:

<code>[[getResourceField? &id=`[[*featured_article]]` &field=`content`]]</code>

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

Итог: если сниппет вызывается изнутри тем же полем, которое вы вызываете, например контент, то нужно убедиться, что id параметр не ведет на текущую страницу.