Здравствуй, дорогой дневник читатель. На этот раз я расскажу о том, что я делаю практически сразу после установки MODX Revolution. Так уж сложилось, что большинство проектов требуют одних и тех же действий, поэтому это можно считать в некотором роде шпаргалкой, которую можно перечитывать после очередной установки MODX. Естественно, не все пункты являются обязательными, поэтому всегда нужно исходить из условий задачи.
Приложения
Ace
Редактор кода с подсветкой синтаксиса и автодополнением. Я его использую для редактирования плагинов, сниппетов, чанков и шаблонов.
CKEditor
Визуальный текстовый редактор, отлично подходит для редактирования статей.
ClientConfig
ClientConfig служит для организации удобного редактирования таких настроек сайта, которые меняет обычно контент-менеджер: название сайта, номера телефонов, адреса электронной почты и прочие контактные данные.
Collections
Для того, чтобы дерево ресурсов не разрасталось, стоит использовать Collections. Коллекция — это расширенный ресурс, который содержит в себе однотипные ресурсы, например, статьи. Благодаря настройкам коллекции сопровождение сайта упрощается в разы. Например, для каждой коллекции можно настроить шаблон дочерних ресурсов по умолчанию. Также можно настроить список дочерних ресурсов.
MODX — Вывод ресурсов через PdoPage, с разбивкой на страницы и свое оформление пагинации
fileTranslit
Modx Evolution: Как получить доступ и изменить переменную шаблона (tv) перед сохранением?
Не большой поклонник modx, но, к сожалению, это то, что мы используем в работе. Мне не удается сохранить измененную переменную шаблона в modx evolution (1.0.5). В моем плагине, вызванном с событием OnBeforeDocFormSave, я делаю это, чтобы получить и изменить tv:
//include global variables global $content,$default_template,$tmplvars; $foo = $tmplvars[$TV_ID][1] . «bar»; $tmplvars[$TV_ID][1] = $foo;
Это не работает. $ foo установлен, но tv не сохраняется. $ TV_ID — это идентификатор ресурса переменной шаблона, за которым я после. Существует множество способов получить телевидение с вызовами API, но как его изменить до его сохранения? Любая помощь оценивается.
thelastshadow 31 авг. 2011, в 19:00
Поделиться
Жаль, что вы не фанат, modx — это моя любимая CMS из тех, что я использовал (Drupal, WordPress, Joomla)
Источник: overcoder.net
Базовые понятия MODX Revolution
К ресурсам относятся документы, веб-ссылки, символьные ссылки и статические ресурсы.
MODX pdoResources — выводим ресурсы
Элементы состоят из шаблонов, дополнительных полей, чанков, сниппетов и плагинов.
Файлы есть файлы – программный код, таблицы стилей, 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, содержащий мета-теги страницы, ссылки на таблицы стилей и пр.
В шаблоне чанк вызывается так:
[[$имя_Чанка]]
Чанк обладает свойствами шаблона, но не содержит TV-параметры и не может быть назначен ресурсу напрямую.
Сниппеты (Snippets)
Сниппет в MODX – это элемент, который содержит в себе PHP-код, выполняемый во время обработки шаблона.
Сниппеты могут предоставлять собой динамический контент, который будет генерироваться по запросу: например, меню, блок новостей, последние комментарии на сайте, поиск и похожий функционал.
Если в системе уже присутствует какой-либо установленный сниппет, вызывается он так:
[[имя_Сниппета]] //Кэшируемый вызов
При вызове кэшируемого сниппета результат будет подсчитан и выведен один раз. В дальнейшем при загрузке страницы, где вызывается данный сниппет, результат останется неизменным, повторный вызов сниппета не произойдет. Экономия ресурсов сервера в действии.
[[!имя_Сниппета]] //Некэшируемый вызов
Есть ситуации, когда выполнять код сниппета требуется каждый раз по-новому, то есть кэшировать результаты никак нельзя. В этом случае и используется некэшируемый вызов.
Плагины (Plugins)
Плагин в MODX представляет собой PHP-код, который в отличие от работы сниппета исполняется при наступлении какого-то определенного системного события. Само событие для срабатывания плагина определяется вами.
В силу этого отдельного вызова плагина, подобно тому, как вызываются чанки и сниппеты, не существует.
Категории (Categories)
Категории – это обычные метки, или каталоги, которые можно применять к элементам MODX для того, чтобы упорядочить их наиболее удобным для вас образом.
Присвоить категорию элементу можно как путем перетаскивания элемента в нужную категорию, так и присваиванием элементу категории в специальном поле элемента.
Использование категорий в MODX необязательно.
Вот теперь можно вдумчиво и планомерно начинать чтение документации по CMS/CMF MODX Revolution.
Изучайте, экспериментируйте, создавайте.
- Хостинг для MODX
- Расширенная установка MODX
Источник: modxinfo.ru