CMPGeneratorPro

Ускорение разработки собственных пакетов для MODX используя графический интерфейс.
Автор дополнения
Prihod
Пакетов
35
Закачек
11 283
Обычно отвечает в течение суток
Автор дополнения
Пакетов
35
Закачек
11 283
Обычно отвечает в течение суток
Версия 2.1.1-pl
Дата выпуска 14.06.2024
Загрузки 152
Просмотры 10 990
Внимание, этот компонент требует версию PHP 7.1 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.6 !

CMPGenerator Pro – предназначен для разработчиков MODX, которые хотят ускорить и облегчить создание своих собственных пакетов, используя графический интерфейс.


Что может CMPGenerator Pro:


  1. создать базовую файловую структуру пакета, а так же при желании базовый класс + классы для валидации и работы с POST данными;
  2. автоматически добавить информацию о вашем пакете в extension_package и в namespaces Modx-а что избавляет вас на этапе разработки от сообщении об ошибки типа Could not load class: когда вы пытаетесь работать со своими таблицами;

  3. создать схемные xpdo-файлы и xpdo-классы для ваших таблиц баз данных, а также указать зависимости между ними (Composite Aggregate);
  4. расширять базовые классы Modx;
  5. создавать в 2 клика свой тип документов Modx за счет расширения класса modResource (автоматически создадутся соответствующие контролеры, процессоры и js файлы);
  6. создать для пользовательских таблиц mgr контролеры, а также mgr и web процессоры (для mgr будут созданы js файлы с функционалам для работы с полями таблицы с привязкой к их типу);
  7. задать php тип для полей таблицы, что влияет на то какой компонент extjs будет использоваться для работы с данным полем, а так же как его данные будет обрабатывать Modx;
  8. добавить в меню админки Modx действие для вашего mgr котроллера;
  9. собрать транспортный пакет с автоматическим включением в него:
    • таблиц;
    • чанков, сниппетов и плагинов(для того что бы события на которые подписан плагин были добавлены в транспортный пакет данный плагин должен быть создан в админке с подпиской на нужные события) из соответствующих папок в 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