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

Синтаксис тегов
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]]
[[~link?scheme=`full`]]
[[~1]]
Создаст относительную ссылку до ресурса с id = 1
Второй вариант, создаст ссылку с указанием адреса сайта.
Настройки контекста ( System Settings )
выводит активный параметр используемого контекста
[[++system_setting]] [[++site_url]]
Выведет ссылку на сайт
Комментарий ( Comment )
комментрий для используемого тега
[[tag?-comment]] [[*id?-id текущей страницы]]
носит описательный характер для разработчика

Системные значения

Тэг Описание
[^qt^] Время потраченное на запросы к базе данных
[^q^] Количество запросов к базе данных
[^p^] Время потраченное на выполнение скриптов PHP
[^t^] Общее время потраченное на генерацию страницы
[^s^] Источник содержимого: база данных или кэш

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

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

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

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

Параметры

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

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

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

[[$hello?name=`мир`]]

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

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

Self checking

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


17 апреля 2012, 12:34
modx revolution


Авторизация
Зайди на сайт с помощью соц. сети:
Тебе — сюда нельзя!!!
На сайте присутствует апокалиптичная тарабарщина
и нецензурная брань.
Хмм... и мне-то вообще-то насрать...
Продолжить
Нет, уйти с сайта