- Проверено Modstore
- Бесплатные будущие обновления
- Работа на тестовом и публичном домене
- 12 месяцев тех. поддержки
CMPGenerator Pro – предназначен для разработчиков MODX, которые хотят ускорить и облегчить создание своих собственных пакетов, используя графический интерфейс.
Что может CMPGenerator Pro:
- создать базовую файловую структуру пакета, а так же при желании базовый класс + классы для валидации и работы с POST данными;
- автоматически добавить информацию о вашем пакете в extension_package и в namespaces Modx-а что избавляет вас на этапе разработки от сообщении об ошибки типа Could not load class: когда вы пытаетесь работать со своими таблицами;
- создать схемные xpdo-файлы и xpdo-классы для ваших таблиц баз данных, а также указать зависимости между ними (Composite Aggregate);
- расширять базовые классы Modx;
- создавать в 2 клика свой тип документов Modx за счет расширения класса modResource (автоматически создадутся соответствующие контролеры, процессоры и js файлы);
- создать для пользовательских таблиц mgr контролеры, а также mgr и web процессоры (для mgr будут созданы js файлы с функционалам для работы с полями таблицы с привязкой к их типу);
- задать php тип для полей таблицы, что влияет на то какой компонент extjs будет использоваться для работы с данным полем, а так же как его данные будет обрабатывать Modx;
- добавить в меню админки Modx действие для вашего mgr котроллера;
- собрать транспортный пакет с автоматическим включением в него:
- таблиц;
- чанков, сниппетов и плагинов(для того что бы события на которые подписан плагин были добавлены в транспортный пакет данный плагин должен быть создан в админке с подпиской на нужные события) из соответствующих папок в elements;
- опций;
- пунктов меню.
Важно! Название базового класса пакета не должно совпадать с названием какой либо из таблиц БД для этого пакета
Видео обзор:
Отправка запроса на web процессоры:
Отправка запроса на web процессоры ничем в плане пораметров не отличается от отправки запросов на mgr процессоры.
POST запросы следует отправлять на URL:
https://example.com/assets/components/название_пакета/action.php
Который должен содержать обязательный параметр action со значение пути от директории веб процессоров до скрипта нужного действия.
Пример кода для пакета с названием mypackage который получает некий список пользователей через процессор с названием getlist который расположен в директории /core/components/mypackage/processors/web/users/
const payload = {
action: 'users/getlist',
};
fetch('https://example.com/assets/components/mypackage/action.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=utf-8'
},
body: JSON.stringify(payload)
})
.then(function (response) {
return response.json();
})
.then(function (response) {
if(response.success) {
console.log('total', response.total);
console.log('list', response.results);
} else {
console.error(response.message);
}
})
.catch (function (error) {
console.error('Request failed', error);
});
[2.1.1-pl] - 2024-06-14
Добавлено
- Небольшие улучшения
Исправлено
- Мелкие баги
[2.1.0-pl] - 2023-04-23
Добавлено
- Небольшие улучшения в шаблоны генерируемого кода
Исправлено
- Мелкие баги
[2.0.0-pl] - 2021-05-28
Изменено
- Файловая структура и шаблоны файлов.
Исправлено
- Чтение schema.xml в MODX Revolution 2.8.1-pl
- Fixed: Read schema.xml in MODX Revolution 2.8.1-pl
Важно! Пакеты, созданные в версии 1.0.*, не поддерживаются
Последние обсуждения в сообществе MODX.pro