22 июля 2015 г., 14:02

Автоматическая мультизагрузка фото в MIGX (Load From Media Source) через MODX API

Помогите, как реализовать автоматическую подгрузку фото из папки с сервера (средствами xPDO), а не по нажатию кнопки (Load From Media Source) Руководствовался при создании мультизагрузки MIGX этои статьей: https://rtfm.modx.com/extras/revo/migx/migx.tutorials/migx.use-resource-specific-mediasource-and-multifile-uploader
автоматическую подгрузку фото из папки с сервера (средствами xPDO), а не по нажатию кнопки (Load From Media Source)
Не совсем понятно что имеется ввиду. Если автоматическое сканирование содержимого папки сервера с последующим занесением всех найденных в этой папке изображений в TV-поля(migx), то прежде всего Вам понадобятся соответствующие знания и: 1. пишите плагин в котором обрабатываются запросы из front-end(пример плагин Site в сборке shopModxBox), при получении запроса на обновление данных Вашей галереи — дергается соответствующий процессор, в котором и происходит сканирование заданной папки и занесение всех фото. 2. на CRON с необходимым интервалом вешается задача посылающая запрос на сайт, например:
/usr/bin/wget -O - -q -t 1 http://урл-сайта/?service=g_update
Ок. Спасибо за предложения. Правда думаю, мне не совсем это нужно. Создал новый источник файлов. Создал конфигурацию MIGX руководствуясь мануалом с rtfm.modx.com… ( Теперь при загрузке изображений на сервер в определенную папку, они появляются в виде migx ресурсов только после нажатия на кномку Load From Media Source (подтягиваются изображения через настроеный мной источник файлов) .
Теперь не могу понять, как написать плагин, каторый бы загружал таблицу с migx ресурсами автоматически, при открытии ресурса modx (OnDocFormPrerender) а не по нажатию на кнопку. Может поможете, с чего начинать то?
Не могу понять, какой сервис/процессор/класс загружается при нажатии на кнопку... Может можно както простым способом «эмитировать» нажатие на кнопку?
при нажатии через конектор
assets/components/migx/connector.php
вызывается:
action:mgr/loadfromsource
с параметрами, т.е.
core/components/migx/proccessors/loadfromsource.class.php
Да, вполне будет достаточно через плагин добавить js код вызывающий нажатие кнопки, что нибудь вроде:
Ext.get('id-кнопки').dom.click();
, только главное чтобы DOM был уже сформирован. Хотя, возможно, это все реализуется и нативными средствами migx, ведь все же это, так сказать, костыль)
Спасибо за направление! Теперь долго мучался с запуском процесса из loadfromsource.class.php
Изучал мануал, так ничего и не вышло… Каким путем его завести? loadClass или runProcessor?
Если runProcessor, то какое у него название то?
Ext.get('id-кнопки').dom.click(); Вообще както извратно получится... Хотелось бы через MODX Api всетаки)
организация компонента MIGx не позволяет прямой вызов этого процессора. Так что просто вызвать runProccessor или loadClass не получится, там даже комментарий от разработчика по этому поводу имеется. Смотрите коннектор и плагин что там задействовано при вызове mgr/loadfromsource. Смотрите снипеты компонента, в общем это же открытый исходный код. А в обще лучше использовать вариант с добавление кастомного javascript на страницу редактирования документа

Добавить комментарий