Jump to main content Jump to doc navigation

Программирование в MODX Revolution

MODX Revolution - это OOP Framework, построенный вокруг базы данных ORM xPDO.

Компоненты сторонних производителей (3PCs)

Сторонние компоненты (3PCs) - это коллекции объектов MODX любого типа. Они могут быть коллекцией сниппетов кода, плагинов и блоков, или одним сниппетом кода, или просто набором файлов. Они обычно транспортируются и устанавливаются через Транспортные пакеты.

core/components and assets/components

MODX не обязательно ограничивает то, где вы можете разместить свои собственные сторонние файлы компонентов, но у нас есть некоторые рекомендации. Для файлов, которые не должны находиться в webroot (файлы конфигурации, .php и т.д.), Мы рекомендуем поместить их в:

core/components/myname

Таким образом, если бы у вас был компонент с именем «test», вы бы поместили его файлы без веб-рута в «core/components/test/». Для файлов, которые должны быть доступны через Интернет, таких как CSS, JS и другие файлы, мы рекомендуем:

assets/components/myname

Где myname, будет «test» в директории «assets/components/test». Эта стандартизация путей облегчает другим разработчикам, использующим ваши компоненты, возможность легко находить ваши файлы.

Сниппеты

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

Плагины

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

Свойства и наборы свойств

Свойства - это просто плейсхолдеры для Элементов (Сниппеты/Плагины/Чанки/TV/Шаблоны), которые могут анализироваться каждым отдельным Элементом. Они позволяют настраивать и передавать аргументы для каждого элемента.

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

Подробнее о наборе свойств можно почитать здесь.

Пользовательские страницы менеджера (CMPs)

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

Внешнее использование MODX

Использовать объект MODX (и все его соответствующие классы) довольно просто. Все, что вам нужно, это код:

require_once '/absolute/path/to/modx/config.core.php';
require_once MODX_CORE_PATH.'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService('error', 'error.modError');

Это инициализирует объект MODX в 'web' Контексте. Теперь, если вы хотите получить доступ к нему под другим Контекстом (и, таким образом, изменяя свои права доступа, политики и т.д.), вам просто нужно изменить 'web' на другой Контекст который вы хотите загрузить.

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • modmore
  • Jens Wittmann – Gestaltung & Entwicklung
  • Raffy
  • eydolan
  • Digital Penguin
  • Fabian Christen
  • Dannevang Digital
  • deJaya
  • Following Sea
  • Sepia River Studios
  • Anton Tarasov
  • Lefthandmedia
  • Nick Clark
  • Chris Fickling
  • Murray Wood
  • YJ
  • CrewMark
  • Richard

Budget

$305 per month—let's make that $500!

Learn more