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
Хорошо что у вас хватило ума всё это не пихать в родной репозиторий modExtra. За это ставлю плюс.
Зачем это все нужно? Я имею ввиду, что вы добавили категории, пользователей и т.д для кого?
1. Каким образом можно обновить шаблон с ID 1 на тот шаблон, который я через компонент добавляю?Например, вот так.
2. Возможно ли как-то отлавливать только что созданные источники файлов через пакет и их ID по уникальному имени передавать в шаблон?Что именно передать? Напишите сниппет, который будет получать необходимый источник и вставьте его в шаблон.
3. Как поправить ресолвер таким образом, чтобы добавление системных настроек и остальных данных из папки elements происходило после создания таблиц из схемы в базу, и установки всех добавляемых компонентов?Перенести создание сис. настроек в резолвер
4. Каким образом сделать выбор компонентов при установке как в компоненте modMySettingsИзучить исходники
Зачем это все нужно? Я имею ввиду, что вы добавили категории, пользователей и т.д для кого?В первую очередь заготовка для себя. Выдернул из последних созданных пакетов. Нужно было где-то всё вместе хранить. Ну и это основа для шаблонов. В будущем хотелось бы заняться лендингами на моих наработках.
Что именно передать? Напишите сниппет, который будет получать необходимый источник и вставьте его в шаблон.Похоже неправильно выразился, все действия перечисленные мне необходимо сделать при установке пакета.
Да это же ContentEditor от Modmore =)
ContentBlocks и нет это sOneLandingPage. Фишек больше и заточен под Landing страницы. Как разберемся с заготовкой modExtra будем клепать шаблоны с установкой в один клик) Ну а доступно будет в нашем репозитории store.sequel.one
3. Как поправить ресолвер таким образом, чтобы добавление системных настроек и остальных данных из папки elements происходило после создания таблиц из схемы в базу, и установки всех добавляемых компонентов?Назови резолвер так чтобы по алфавиту твой резолвер был последним. Тогда и запускаться он будет позже.
4. Каким образом сделать выбор компонентов при установке как в компоненте modMySettingsЗдесь все есть:
https://github.com/webnitros/modMySettings/blob/master/_build/setup.options.php
Еще момент: при удалении компонента, резолверы удаляют и папку с шаблоном. То есть все что положиться в core/elements/ будет уделено
Еще момент: при удалении компонента, резолверы удаляют и папку с шаблоном. То есть все что положиться в core/elements/ будет уделеноПапка с шаблоном у меня лежит в assets/templates/default/ Здесь лежит всё и чанки и шаблоны, и стили со скриптами. Если использовать Apache, то папки с чанками и шаблонами недоступны для обычных юзеров из-за файла .htaccess с содержимым:
Order Deny,Allow
Deny from all
Ну а для тех кто использует nginx нужно в секцию server подобное правило указывать. Мне к примеру ужасно неудобно стили со скриптами держать в папке assets, а чанки и шаблоны в core. Собственно назревает вопрос, что нужно сделать, чтобы после удаления компонента папка с шаблонами не тёрлась?
Собственно назревает вопрос, что нужно сделать, чтобы после удаления компонента папка с шаблонами не тёрлась?
// Files resolvers
$vehicle->resolve('file', [
'source' => $this->config['core'],
'target' => "return MODX_CORE_PATH . 'components/';",
xPDOTransport::RESOLVE_FILES_REMOVE => false
]);
вот эта опция, только надо проверить, помню с ней какая та проблема была!
Папка остаётся, а содержимое трётся(
а ну вот и проблема с ним.
Вообще вот здесь все происходит
prnt.sc/ri8x24
core/xpdo/transport/xpdovehicle.class.php 187 строка
Вообще вот здесь все происходит
prnt.sc/ri8x24
core/xpdo/transport/xpdovehicle.class.php 187 строка
Если не удалось разобрать, то вот статья от Ильи Уткина про cache манеджер который как раз в этих параметрах используется.
modx.pro/solutions/16353
P.S.: напиши плиз, если решится проблема с помощью данной опциий.
modx.pro/solutions/16353
P.S.: напиши плиз, если решится проблема с помощью данной опциий.
Ещё вопрос по поводу
Здесь все есть:В старой версии пакетов это ресолверы? Мне необходимо будет файл /_build/resolvers/setup.php править?
github.com/webnitros/modMySettings/blob/master/_build/setup.options.php
Может пригодиться моя сборка modExtra
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, в случае если папка существует то кнопки показываются
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, в случае если папка существует то кнопки показываются
Я правильно понимаю, что эти кнопки будут отображаться в случае если настроены символические ссылки?
Нет, они отображаются если в корне есть директория Extras/mycomponent/
Там обычная проверка файла идет file_exits.
Там обычная проверка файла идет file_exits.
Народ а как заполнить создаваемую страницу?
так называемый постинстал
так называемый постинстал
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.