modExtra. Новые "плюшки" к чаю
Давно я не писал статей и заметок о нашем любимом MODX. Настало время это исправить. Пакет modExtra не обновлялся с июля 2019ого, по этому я решил добавить свои наработки за пару лет.

В Grid таблицах теперь выводятся выбранные Категории, Пользователи, Дата, превью изображений.


На скриншотах вы можете увидеть что добавлена дополнительная вкладка Категории и в ней существует возможность добавление не только самой категории, но и добавление Категории товара miniShop2.

Также были внесены изменения в модальное окно для лучшего юзабилити.


В системных настройках добавлены все более менее используемые типы xtype, такие как:

Ряд изменений
Есть пара нюансов с которыми нужна помощь.
1. Каким образом можно обновить шаблон с ID 1 на тот шаблон, который я через компонент добавляю?
2. Возможно ли как-то отлавливать только что созданные источники файлов через пакет и их ID по уникальному имени передавать в шаблон?
3. Как поправить ресолвер таким образом, чтобы добавление системных настроек и остальных данных из папки elements происходило после создания таблиц из схемы в базу, и установки всех добавляемых компонентов?
4. Каким образом сделать выбор компонентов при установке как в компоненте modMySettings
Если устранить все эти проблемы, то можно будет создавать шаблоны на файлах с Fenom особо не напрягаясь.

В Grid таблицах теперь выводятся выбранные Категории, Пользователи, Дата, превью изображений.


На скриншотах вы можете увидеть что добавлена дополнительная вкладка Категории и в ней существует возможность добавление не только самой категории, но и добавление Категории товара miniShop2.

Также были внесены изменения в модальное окно для лучшего юзабилити.


В системных настройках добавлены все более менее используемые типы xtype, такие как:
modx-combo-template
modx-combo-language
modx-combo-context
modx-combo-user
modx-combo-source
combo-boolean
numberfield
textfield
textarea
Ряд изменений
- Добавлена возможность добавления папки с шаблонами
- Добавлена возможность добавления событий
- Добавлена возможность добавленя системных настроек по умолчанию
- Добавлена возможность добавления источников файлов
- Добавлена возможность вставки в поле визуального редактора (по умолчанию TinyMCE)
- При сборке пакета создается запись в системеной настройке extension_packages
Есть пара нюансов с которыми нужна помощь.
1. Каким образом можно обновить шаблон с ID 1 на тот шаблон, который я через компонент добавляю?
2. Возможно ли как-то отлавливать только что созданные источники файлов через пакет и их ID по уникальному имени передавать в шаблон?
3. Как поправить ресолвер таким образом, чтобы добавление системных настроек и остальных данных из папки elements происходило после создания таблиц из схемы в базу, и установки всех добавляемых компонентов?
4. Каким образом сделать выбор компонентов при установке как в компоненте modMySettings
Если устранить все эти проблемы, то можно будет создавать шаблоны на файлах с Fenom особо не напрягаясь.
Комментарии: 19
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Например, вот так.
Что именно передать? Напишите сниппет, который будет получать необходимый источник и вставьте его в шаблон.
Перенести создание сис. настроек в резолвер
Изучить исходники
Похоже неправильно выразился, все действия перечисленные мне необходимо сделать при установке пакета.
Здесь все есть:
https://github.com/webnitros/modMySettings/blob/master/_build/setup.options.php
Еще момент: при удалении компонента, резолверы удаляют и папку с шаблоном. То есть все что положиться в core/elements/ будет уделено
Ну а для тех кто использует nginx нужно в секцию server подобное правило указывать. Мне к примеру ужасно неудобно стили со скриптами держать в папке assets, а чанки и шаблоны в core.
Собственно назревает вопрос, что нужно сделать, чтобы после удаления компонента папка с шаблонами не тёрлась?
Вообще вот здесь все происходит
prnt.sc/ri8x24
core/xpdo/transport/xpdovehicle.class.php 187 строка
modx.pro/solutions/16353
P.S.: напиши плиз, если решится проблема с помощью данной опциий.
В старой версии пакетов это ресолверы? Мне необходимо будет файл /_build/resolvers/setup.php править?
github.com/webnitros/modMySettings/blob/1152ca4862613fc0a37bcb3cdbea8fb2e268ab62/_build/build.transport.php#L163
github.com/webnitros/siteDev/blob/103270a49c69539d934bafc4ff9f9891dde7a684/core/components/sitedev/Extras/modExtra/_build/build.php#L828
github.com/webnitros/siteDev/tree/master/core/components/sitedev/Extras/modExtra
Еще считаю полезно прицепить вот такие кнопки
А то вспоминать откуда у тебя компонента скачивается, постоянное мучение.
Ссылка на то как кнопки добавить:
https://github.com/webnitros/siteDev/blob/103270a49c69539d934bafc4ff9f9891dde7a684/core/components/sitedev/Extras/modExtra/core/components/modextra/controllers/home.class.php#L91
Можно конечно в какой нибудь плагин завернуть, но я не стал заморачиваться, добавил их в контроллер с проверкой на существования папки Extras/myComponent, в случае если папка существует то кнопки показываются
Там обычная проверка файла идет file_exits.
так называемый постинстал