Базовые понятия MODX Revolution

Базовые понятия в MODX

 

Основные блоки для создания сайта с помощью системы управления контентом MODX Revolution – это ресурсы, элементы и файлы.

К ресурсам относятся документы, веб-ссылки, символьные ссылки и статические ресурсы.

Элементы состоят из шаблонов, дополнительных полей, чанков, сниппетов и плагинов.

Файлы есть файлы – программный код, таблицы стилей, java-скрипты, медиа-контент и т. д.


Ресурсы (Resources)

Ресурс – это один из объектов MODX, доступ к которому можно осуществить посредством уникального идентификатора ресурса (URL/URI – Uniform Resource Locator/Identifier).

В основном ресурс представляет собой документ, другими словами, страницу сайта. Каждому такому ресурсу должен быть назначен шаблон, который, в свою очередь, может определять дополнительные поля (переменные шаблона, TV) этого ресурса.

Существует четыре встроенных типа ресурсов: 

  • Документ – самый распространённый ресурс, веб-страница. Состоит из заголовка, описания, аннотации, подробного содержимого, дат и других полей ресурса;
  • Веб-ссылка – ресурс MODX, который содержит URL (единый указатель ресурсов), ссылку на внешний ресурс или веб-страницу. Основное назначение ресурса – использование в качестве ссылок в меню MODX;
  • Символьная ссылка – ресурс , указывающий на другой документ MODX, однако поле символьной ссылки содержит только идентификатор ресурса (ID) документа, на который она ссылается. Основное назначение символьных ссылок – как и в предыдущем случае;
  • Статический ресурс – ресурс, содержащий в поле контента путь к определенному файлу. Если на сайте имеется контент, который не должен изменяться динамически, можно использовать для его отображения статический ресурс.

Шаблоны (Templates)

Шаблон – сущность MODX, которая определяет отображение страницы. При запросе MODX подгружает сам документ, его шаблон и заменяет плейсхолдеры соответствующими значениями из документа перед отправкой страницы в браузер пользователя. Поэтому шаблоны всегда присваиваются ресурсу-документу.

В шаблонах можно использовать любые теги, включая чанки, сниппеты, переменные шаблона.


Переменные шаблона (TV)

Переменные шаблона (Template Variables) – это дополнительные настраиваемые поля ресурсов MODX. Прменяются TV в тех случаях, когда вам необходимо создание новых пользовательских полей ресурса, отсутствующих в стандартном наборе атрибутов документа.

Дополнительное поле для описания услуги, изображение, которое будет выводиться в анонсах, адрес ссылки, куда будет перенаправляться пользователь при нажатии на кнопку – вот некоторые примеры использования переменных шаблона.


Чанки (Chunks)

Чанк – это фрагмент статического HTML-кода, содержит какую-либо часто повторяемую часть контента.

Стоит запомнить, что чанк не может содержать в себе исполняемый PHP-код (для этого служат сниппеты MODX).

В качестве примера можно привести стандартно применяемый чанк head, содержащий мета-теги страницы, ссылки на таблицы стилей и пр.





<head>
  <meta charset="utf-8">
  <meta name="description" content="">
  <meta name="robots" content="index, follow">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title></title>
  <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
  <link href="favicon.ico" rel="icon" type="image/x-icon" />
  <link href="assets/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
  <link href="assets/css/style.css" rel="stylesheet" type="text/css" />
</head>

В шаблоне чанк вызывается так:


  [[$имя_Чанка]]

Чанк обладает свойствами шаблона, но не содержит TV-параметры и не может быть назначен ресурсу напрямую.


Сниппеты (Snippets)

Сниппет в MODX – это элемент, который содержит в себе PHP-код, выполняемый во время обработки шаблона.

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

Если в системе уже присутствует какой-либо установленный сниппет, вызывается он так:

  [[имя_Сниппета]]   //Кэшируемый вызов

При вызове кэшируемого сниппета результат будет подсчитан и выведен один раз. В дальнейшем при загрузке страницы, где вызывается данный сниппет, результат останется неизменным, повторный вызов сниппета не произойдет. Экономия ресурсов сервера в действии.

  [[!имя_Сниппета]]  //Некэшируемый вызов

Есть ситуации, когда выполнять код сниппета требуется каждый раз по-новому, то есть кэшировать результаты никак нельзя. В этом случае и используется некэшируемый вызов.


Плагины (Plugins)

Плагин в MODX представляет собой PHP-код, который в отличие от работы сниппета исполняется при наступлении какого-то определенного системного события. Само событие для срабатывания плагина определяется вами.

В силу этого отдельного вызова плагина, подобно тому, как вызываются чанки и сниппеты, не существует.


Категории (Categories)

Категории – это обычные метки, или каталоги, которые можно применять к элементам MODX для того, чтобы упорядочить их наиболее удобным для вас образом.

Присвоить категорию элементу можно как путем перетаскивания элемента в нужную категорию, так и присваиванием элементу категории в специальном поле элемента.

Использование категорий в MODX необязательно.


Вот теперь можно вдумчиво и планомерно начинать чтение документации по CMS/CMF MODX Revolution.

Изучайте, экспериментируйте, создавайте...