Jump to main content Jump to doc navigation

Что такое fastField?

fastField - это плагин, который добавляет новый тип тега [[# ...]]. Его можно использовать для отображения одного поля, включая TV переменные и свойства, другого ресурса для MODX Revolution 2.2+. Он также может отображать значение суперглобальных PHP переменных $_POST, $_GET и других.

История

fastField был впервые вышел в свет 29 Ноября 2012 года автором argnist.

Скачать

Плагин можно получить через менеджер пакетов или загрузить вручную по ссылке.

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

Структура тега следующая: [[#resource_id.field]]

где resource_id - идентификатор необходимого ресурса, например "123", а поле field - это поле ресурса, например "заголовок страницы" (pagetitle). Для переменных шаблона (TV) поле должно начинаться с "tv.". Для свойств ресурса перед ним должен был префикс "properties." "property.".

Для использования с глобальными массивами вы должны заменить resource_id именем массива, например "post" и поле с именем переменной.

В целом этот плагин заменяет getResourceField and getReqParam сниппеты.

Examples

Получить заголовок pagetitle страницы из ресурса с идентификатором 123:

[[#123.pagetitle]]

Вернуть значение поля introtext родителя текущего ресурса и отобразить значение поля description, если introtext пусто:

[[#[[*parent]].introtext:default=`[[#[[*parent]].description]]`]]

Или, что более эффективно (см. Эту статью в MODX блоге):

[[[[#[[*parent]].introtext:default=`#[[*parent]].description`]]]]

Вернуть содержимое ресурсов в чанке rowTpl при использовании Wayfinder:

[[#[[+wf.docid]].content]]

Получить TV изображение из ресурса с идентификатором 10:

[[#10.tv.image]]

Получить articlePerPage свойство из ресурса с идентификатором 1 кастомного типа ресурса Articles

[[#1.properties.articles.articlesPerPage]]

Вернуть значение $_POST['myVar']:

[[!#post.myVar]]

Поддерживаемые глобальные массивы: $_GET, $_POST, $_REQUEST, $_SERVER, $_FILES, $_COOKIE, $_SESSION. Тип массива после # нечувствителен к регистру. Имя элемента массива чувствительно к регистру. Вы должны использовать некэшированный тег, например [[!#get.name]], для кешированных ресурсов.

ВНИМАНИЕ: Опасно использовать на странице незащищенные глобальные переменные. Например, используйте выходной фильтр: stripTags для предотвращения XSS-атак (например, [[!#get.name:stripTags]])!

Как это работает

MODX использует класс modParser для разбора тегов по умолчанию. Этот плагин добавляет класс fastFieldParser, расширяющий modParser. Таким образом, если modParser будет изменен в новой версии MODX, поведение плагина будет непредсказуемым.

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Jens Wittmann – Gestaltung & Entwicklung
  • Fabian Christen
  • Digital Penguin
  • Dannevang Digital
  • Sepia River Studios
  • CrewMark
  • Chris Fickling
  • deJaya
  • Following Sea
  • Anton Tarasov
  • eydolan
  • Raffy
  • Lefthandmedia
  • Murray Wood
  • Snow Creative
  • Nick Clark
  • Helen
  • JT Skaggs
  • krisznet
  • YJ
  • Yanni
  • Richard

Budget

$366 per month—let's make that $500!

Learn more