CMPGenerator Pro ускоряем разработку своих пакетов
Hi, сделал новое дополнение CMPGenerator Pro на основе UiCMPGenerator.
Что может 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 и web контролеры с процессорами (для mgr будут созданы js файлы с функционалам для работы с полями таблицы с привязкой к их типу);
7. задать php тип для полей таблицы, что влияет на то какой компонент extjs будет использоваться для работы с данным полем, а так же как его данные будет обрабатывать Modx;
8. добавить в меню админки Modx действие для вашего mgr котроллера;
9. собрать транспортный пакет с автоматическим включением в него:
— таблиц;
— чанков, сниппетов и плагинов(для того что бы события на которые подписан плагин были добавлены в транспортный пакет данный плагин должен быть создан в админке с подпиской на нужные события) из соответствующих папок в elements;
— опций;
— пунктов меню.
Примечание: большинство перечисленных выше пунктов доступы только при включенной опции «Создать базовый класс» на этапе создания пакета
Видео с демонстрацией функционала дополнения те кто смотрел для UiCMPGenerator могут пропустить с 2:38сек. по 5:35сек.
И таки да, данное дополнение платное
Что может 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 и web контролеры с процессорами (для mgr будут созданы js файлы с функционалам для работы с полями таблицы с привязкой к их типу);
7. задать php тип для полей таблицы, что влияет на то какой компонент extjs будет использоваться для работы с данным полем, а так же как его данные будет обрабатывать Modx;
8. добавить в меню админки Modx действие для вашего mgr котроллера;
9. собрать транспортный пакет с автоматическим включением в него:
— таблиц;
— чанков, сниппетов и плагинов(для того что бы события на которые подписан плагин были добавлены в транспортный пакет данный плагин должен быть создан в админке с подпиской на нужные события) из соответствующих папок в elements;
— опций;
— пунктов меню.
Примечание: большинство перечисленных выше пунктов доступы только при включенной опции «Создать базовый класс» на этапе создания пакета
Видео с демонстрацией функционала дополнения те кто смотрел для UiCMPGenerator могут пропустить с 2:38сек. по 5:35сек.
И таки да, данное дополнение платное
Поблагодарить автора
Отправить деньги
Комментарии: 41
УАУ! КРУТО!!!
Круто!
Посмотрел видео, просто супер круто. Обязательно куплю и потестирую.
Вопрос. Когда ты изменил поле для своего типа документов, после новой генерации компонента оно сбросится? И что нужно сделать для того, чтобы тот JS файл пересоздался заново? То бишь, что нужно сделать, чтобы нечаяно сбросить внесённые мной изменения в этот файл?
Если не отмечен чекбокс «Перезаписать файл» то все изменения которые ты сделал сам остаются при дальнейшей генерации компонента т.е если понадобилась перезаписать файл мы отмечаем чекбокс нажимает кнопку генерировать компонент потом убираем чекбокс и делаем свои правки которые в дальнейшем не будут перезаписываться. Но это не касается map файлов, т.е если мы добавляем новое поле в нашу таблицу то нам нет необходимости отмечать чекбокс «Перезаписать файл» т.к map файлы в любом случаи перезапишутся
А можете где нибудь развернуть демо? Что бы погонять самому, понять что есть, чего нету.
Ну по-моему на видео и так все видно что может компонент, есть так сказать его lite версия UiCMPGenerator
можно поюзать ее
https://modx.pro/development/4601-uicmpgenerator-addition-to-package/
можно поюзать ее
https://modx.pro/development/4601-uicmpgenerator-addition-to-package/
А полную версию развернуть вы не можете? Лайт версию я видел, интересно потыкать полную.
ок, я подумаю как это можно будет сделать с защитой для компонента :)
В общим нормальную демку сходу для тестирования компонента развернуть не получается так, что увы компонент будет без нее.
Круто, приобрёл! Создавать компоненты стало намного легче. Огромное спасибо за такой компонент!)
Тоже приобрел данный пакет. Есть вопросы и замечания (1500 рубчиков однако):
1. При редактировании нового пакета нажатие на кнопку «Обновить» вызывает ошибку «SyntaxError: expected expression, got '}'». Неприятно.
2. Выдает ошибки при сборке транспортного пакета, если директория «core» вынесена за пределы корневой папки. Хотелось бы корректной работы пакета при разных расположениях и названиях основных каталогов.
3. Вопрос: будет ли реализован функционал создания таблиц и модели по файлу схеме?
1. При редактировании нового пакета нажатие на кнопку «Обновить» вызывает ошибку «SyntaxError: expected expression, got '}'». Неприятно.
2. Выдает ошибки при сборке транспортного пакета, если директория «core» вынесена за пределы корневой папки. Хотелось бы корректной работы пакета при разных расположениях и названиях основных каталогов.
3. Вопрос: будет ли реализован функционал создания таблиц и модели по файлу схеме?
1 и 2 в ближайшей версии будет исправлено (на этой недели)
3 — будет добавлено в другой большой сборке (пока точной даты нет)
3 — будет добавлено в другой большой сборке (пока точной даты нет)
Огромное спасибо. Очень рад, что компонент будет развиваться!
CMPGenerator Pro 1.0.2
-Изменено: Размер поля scheme в БД
-Исправлено: Обновление пустой модели
-Исправлено: Кастомные пути к «core»
-Изменено: Размер поля scheme в БД
-Исправлено: Обновление пустой модели
-Исправлено: Кастомные пути к «core»
Есть ли у данного пакета возможность загрузить существующие пакеты?
Нужно один пакет немного подправить под себя, добавить 2 поля в БД и 2 поля в админке.
Нужно один пакет немного подправить под себя, добавить 2 поля в БД и 2 поля в админке.
нет
Эх, а то купил бы сейчас
Добры день. А подскажите, можно ли с помощью компонента делать вкладки на странице компонента? Или это уже путем редактирования файлов в рукопашную?)
А подскажите, можно ли с помощью компонента делать вкладки на странице компонентанет
Сергей, приветствую! Тестирую Ваш компонент на modhost.pro, подумываю о покупке, но прежде хотел бы узнать о возможностях.
Вопрос: Как через компонент сделать связь новой таблицы с уже существующей в системе?
Я создал таблицу — контрагенты и хочу связать её с пользователями MODX по id
Для этого мне нужно в таблице пользователей добавить новое поле contragent_id, по которому я буду привязывать компании.
1)Могу ли я добавить новое поле в оригинальную таблицу users через компонент?
2)Какую таблицу нужно вытаскивать в рабочее поле компонента? users или выбрать пункт расширить таблицу?
Вопрос: Как через компонент сделать связь новой таблицы с уже существующей в системе?
Я создал таблицу — контрагенты и хочу связать её с пользователями MODX по id
Для этого мне нужно в таблице пользователей добавить новое поле contragent_id, по которому я буду привязывать компании.
1)Могу ли я добавить новое поле в оригинальную таблицу users через компонент?
2)Какую таблицу нужно вытаскивать в рабочее поле компонента? users или выбрать пункт расширить таблицу?
а ты уверен что у тебя связь между таблицей users и контрагенты «один к одному»?
Я нигде об этом не упоминал) Конечно один ко многим.
В смысле одни пользователь может быть у одного контрагента, но у одного контрагента может быть много пользователей
По первому вопросу:
Сейчас я делаю так — modx.pro/solutions/7037-expanding-any-table-modx/
Через плагин маппингом добавляю новое поле в users и всё ок, но может есть возможность делать это через компонент?
И только сегодня понял одну фишку по поводу связей в компоненте, оказывается имеет значение какая таблица находится слева или справа при установке связи) Чисто случайно выяснилось
Сейчас я делаю так — modx.pro/solutions/7037-expanding-any-table-modx/
Через плагин маппингом добавляю новое поле в users и всё ок, но может есть возможность делать это через компонент?
И только сегодня понял одну фишку по поводу связей в компоненте, оказывается имеет значение какая таблица находится слева или справа при установке связи) Чисто случайно выяснилось
но ты учти если ты расширишь таблицу users то тебе нужно уже будет использовать в class_key уже не modUser а имя класса которое будет у твоей таблицы
Я сейчас не за компом как буду дома скину скрин как нужно CMPGeneratorPro это сделать
Я сейчас не за компом как буду дома скину скрин как нужно CMPGeneratorPro это сделать
Ага, это я уже понял.
Скрин будут ждать, спасибо заранее!
Документацию бы к этому классному компоненту написать, я бы и рад в этом помочь, но пока с ним надо нормально разобраться.
Скрин будут ждать, спасибо заранее!
Документацию бы к этому классному компоненту написать, я бы и рад в этом помочь, но пока с ним надо нормально разобраться.
как то так prntscr.com/jvcbhx
Будет ли развиваться компонент, добавляться новые возможности и т.д.?
Добрый день!
Подскажите есть у меня дополнение для работы с данными. Там нужно создать таблицу, файлы залить может еще что-то.
Можно ли с помощью данного дополнения собрать свое, не имя навыков программирования?
На видео что-то уж ни чего не понятно что для чего делается…
Можно ли к примеру в несколько кликов сделать свое дополнение?
Спасибо.
Подскажите есть у меня дополнение для работы с данными. Там нужно создать таблицу, файлы залить может еще что-то.
Можно ли с помощью данного дополнения собрать свое, не имя навыков программирования?
На видео что-то уж ни чего не понятно что для чего делается…
Можно ли к примеру в несколько кликов сделать свое дополнение?
Спасибо.
В MODX Revolution 2.8.1 возникает ошибка
Fatal error: Uncaught Exception: String could not be parsed as XML in
которая будет поправлена в новой сборке пакета, а пока можно обновить файл core/components/cmpgeneratorpro/model/cmpgeneratorpro/mysql/dbhelper.class.php на этот
@Prihod при нажатии на «сгенерировать код» не генерируется схема и файлы. modx 2.8.1. Фикс выше сделал
дополнение еще поддерживается?
Можно ли его ставить совместно с UICMPGenerator?
Можно ли его ставить совместно с UICMPGenerator?
Да
Попробовал на тестовом сделать, как у Вас на видео. Делал всё по видео инструкции, но валятся ошибки
Не знаю в чем дело, не получилось и да в бд добавлял запись проверить отображение в админке — тоже не вышло.
[2022-02-11 16:27:38] (ERROR @ /home/s28944/www/core/xpdo/xpdo.class.php : 1321) Could not get table class for class: PromoCupons [2022-02-11 16:27:38] (ERROR @ /home/s28944/www/core/xpdo/xpdo.class.php : 1290) Could not get table name for class: PromoCupons [2022-02-11 16:27:38] (ERROR @ /home/s28944/www/core/xpdo/xpdo.class.php : 1321) Could not get table class for class: PromoCupons [2022-02-11 16:27:38] (ERROR @ /home/s28944/www/core/xpdo/xpdo.class.php : 1290) Could not get table name for class: PromoCupons [2022-02-11 16:27:38] (ERROR @ /home/s28944/www/core/xpdo/xpdo.class.php : 762) PromoCupons::getSelectColumns() is not a valid static method. [2022-02-11 16:27:38] (ERROR @ /home/s28944/www/core/xpdo/xpdo.class.php : 762) PromoCupons::loadCollection() is not a valid static method. [2022-02-11 16:27:38] (ERROR @ /home/s28944/www/core/model/modx/modprocessor.class.php : 525) PHP warning: Invalid argument supplied for foreach()В консоле ругань или на manager/assets/ext3/ext-all.js или на assets/components/promocupons/connector.php при добавлении в бд из меню Promo Cupons.
Не знаю в чем дело, не получилось и да в бд добавлял запись проверить отображение в админке — тоже не вышло.
Возможно я что-то упустил или в видео этого нет, но попробую обуздать в примерах понимании об addPackage, loadClass и getService и подключении сторонних таблиц, хотя так-то из консоли кастомный класс работает, добавляет объект и получает объект и коллекцию, что на обычной версии, что на про версии.
Проблема была успешно ликвидирована путем, что расширял класс с тем же названием, а надо было create another base class, от туда и не срасталось, а пишу, что всё делал по инструкции. Прошу прощения, виноват, делал на скорую руку.
Добрый день, не подскажите, почему при установке компонента может возникать ошибка (modx 3.0.1)?
Could not load class: xPDO\Transport\encryptedVehicle from xpdo\transport\encryptedvehicle
The specified xPDOVehicle class (xPDO\Transport\encryptedVehicle) could not be loaded.
Could not load class: xPDO\Transport\encryptedVehicle from xpdo\transport\encryptedvehicle
The specified xPDOVehicle class (xPDO\Transport\encryptedVehicle) could not be loaded.
Возможно от того, что компонент не адаптирован под MODX 3?
Дополнение не работает с modx 3
да, поняла, спасибо(
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.