Синтаксис тегов в MODx Revolution

Рассмотрим основной синтаксис встроенных тегов MODx Revo. Все встроенные теги должны обрамлятся двумя квадратными скобками с левой и правой стороны, к примеру [[test]]. Ниже приведена таблица с возможными применениями синтаксиса:

ЭлементСинтаксисПример
Поля ресурса ( Resource Fields )
стандартные поля страниц, типа заголовка или контента
[[*field]][[*pagetitle]]
выведет заголовок страницы
TV-поле ( Template Variables )
дополнительные поля страниц
[[*templatevar]][[*tags]]
выведет содержимое дополнительного поля tags
Чанк ( Chunk )
отдельные кусочки html-кода
[[$chunk]][[$footer]]
выведет содержимое чанка footer
Сниппет ( Snippet )
отдельные скрипты php
[[snippet]][[getResources]]
выведет закешированный результат работы сниппета getResources
Плейсходер ( Placeholder )
подставляет результаты работы какого-нибудь сниппета
[[+placeholder]][[+modx.user.id]]
выведет id текущего авторизированого пользователя
Ссылка ( Link )
динамически генерирует ссылку до указанного документа по id
[[~link]][[~1]]
Создаст ссылку до ресурса с id = 1
Настройки контекста ( System Settings )
выводит активный параметр используемого контекста
[[++system_setting]][[++site_url]]
Выведет ссылку на сайт
Комментарий ( Comment )
комментрий для используемого тега
[[tag?-comment]][[*id?-id текущей страницы]]
носит описательный характер для разработчика

Структура тегов

Каждый тег может содержать несколько частей, ниже тег разбит на возможные части:

В целом, как то так: [[!name:lcase?name=`Вася`-выводим приветствие]] - здесь мы обращаемся к сниппету с именемname, переводим регистр символов в нижний регистр с помощью phx ( lcase ), задаем параметр name равный "Вася" и комментируем для себя что это значит

Параметры

Параметры можно передавать не только в сниппеты, но и в чанки, например у нас есть чанк hello:

Код
Привет, [[+name]]!

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

Код
[[$hello?name=`мир`]]

Результат примера будет: Привет, мир!

При передаче параметра в снипет, данные записываются в массив $scriptProperties.

Self checking

Для автоматической проверки синтаксиса, можно установить плагин SyntaxChecker.

2143