Синтаксис тегов
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^] | Источник содержимого: база данных или кэш |
Структура тегов
Каждый тег может содержать несколько частей, ниже тег разбит на возможные части:
В целом, как то так: [[!name:lcase?name=`Мир`-выводим приветствие]] - здесь мы обращаемся к сниппету с именем name, переводим регистр символов в нижний регистр с помощью phx ( lcase ), задаем параметр name равный "Мир" и комментируем для себя что это значит.
Параметры
Параметры можно передавать не только в сниппеты, но и в чанки, например у нас есть чанк hello:
Привет, [[+name]]!
В шаблоне выведем чанк таким образом:
[[$hello?name=`мир`]]
Результат примера будет: Привет, мир!
При передаче параметра в снипет, данные записываются в массив $scriptProperties.
Self checking
Для автоматической проверки синтаксиса, можно установить плагин SyntaxChecker. Для подсветки синтаксиса, так же отлично подойдет компонент Ace.