Основные блоки для создания сайта с помощью системы управления контентом MODX Revolution – это ресурсы, элементы и файлы.
К ресурсам относятся документы, веб-ссылки, символьные ссылки и статические ресурсы.
Элементы состоят из шаблонов, дополнительных полей, чанков, сниппетов и плагинов.
Файлы есть файлы – программный код, таблицы стилей, java-скрипты, медиа-контент и т. д.
Ресурс – это один из объектов MODX, доступ к которому можно осуществить посредством уникального идентификатора ресурса (URL/URI – Uniform Resource Locator/Identifier).
В основном ресурс представляет собой документ, другими словами, страницу сайта. Каждому такому ресурсу должен быть назначен шаблон, который, в свою очередь, может определять дополнительные поля (переменные шаблона, TV) этого ресурса.
Существует четыре встроенных типа ресурсов:
Шаблон – сущность MODX, которая определяет отображение страницы. При запросе MODX подгружает сам документ, его шаблон и заменяет плейсхолдеры соответствующими значениями из документа перед отправкой страницы в браузер пользователя. Поэтому шаблоны всегда присваиваются ресурсу-документу.
В шаблонах можно использовать любые теги, включая чанки, сниппеты, переменные шаблона.
Переменные шаблона (Template Variables) – это дополнительные настраиваемые поля ресурсов MODX. Прменяются TV в тех случаях, когда вам необходимо создание новых пользовательских полей ресурса, отсутствующих в стандартном наборе атрибутов документа.
Дополнительное поле для описания услуги, изображение, которое будет выводиться в анонсах, адрес ссылки, куда будет перенаправляться пользователь при нажатии на кнопку – вот некоторые примеры использования переменных шаблона.
Чанк – это фрагмент статического HTML-кода, содержит какую-либо часто повторяемую часть контента.Стоит запомнить, что чанк не может содержать в себе исполняемый PHP-код (для этого служат сниппеты MODX).
В качестве примера можно привести стандартно применяемый чанк head, содержащий мета-теги страницы, ссылки на таблицы стилей и пр.
<!--[
if
lt IE 7]> <html
class
=
"no-js lt-ie9 lt-ie8 lt-ie7"
> <![
endif
]-->
<!--[
if
IE 7]> <html
class
=
"no-js lt-ie9 lt-ie8"
> <![
endif
]-->
<!--[
if
IE 8]> <html
class
=
"no-js lt-ie9"
> <![
endif
]-->
<!--[
if
gt IE 8]> <html
class
=
"no-js"
> <![
endif
]-->
<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-параметры и не может быть назначен ресурсу напрямую.
Сниппет в MODX – это элемент, который содержит в себе PHP-код, выполняемый во время обработки шаблона.
Сниппеты могут предоставлять собой динамический контент, который будет генерироваться по запросу: например, меню, блок новостей, последние комментарии на сайте, поиск и похожий функционал.
Если в системе уже присутствует какой-либо установленный сниппет, вызывается он так:
[[*имя_Сниппета]] //Кэшируемый вызов
При вызове кэшируемого сниппета результат будет подсчитан и выведен один раз. В дальнейшем при загрузке страницы, где вызывается данный сниппет, результат останется неизменным, повторный вызов сниппета не произойдет. Экономия ресурсов сервера в действии.
[[*!имя_Сниппета]] //Некэшируемый вызов
Есть ситуации, когда выполнять код сниппета требуется каждый раз по-новому, то есть кэшировать результаты никак нельзя. В этом случае и используется некэшируемый вызов.
Плагин в MODX представляет собой PHP-код, который в отличие от работы сниппета исполняется при наступлении какого-то определенного системного события. Само событие для срабатывания плагина определяется вами.
В силу этого отдельного вызова плагина, подобно тому, как вызываются чанки и сниппеты, не существует.
Категории – это обычные метки, или каталоги, которые можно применять к элементам MODX для того, чтобы упорядочить их наиболее удобным для вас образом.
Присвоить категорию элементу можно как путем перетаскивания элемента в нужную категорию, так и присваиванием элементу категории в специальном поле элемента.
Использование категорий в MODX необязательно.
Вот теперь можно вдумчиво и планомерно начинать чтение документации по CMS/CMF MODX Revolution.
Изучайте, экспериментируйте, создавайте. Успеха и удачи!
СТУДИЯ «WEBLUX»