Oleg L 22 июля 2015 0 5
Помогите, как реализовать автоматическую подгрузку фото из папки с сервера (средствами xPDO), а не по нажатию кнопки (Load From Media Source)
Руководствовался при создании мультизагрузки MIGX этои статьей:
https://rtfm.modx.com/extras/revo/migx/migx.tutorials/migx.use-resource-specific-mediasource-and-multifile-uploader
5 комментариев
spector1
spector 23 июля 2015г в 14:27 #
автоматическую подгрузку фото из папки с сервера (средствами 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


O
Oleg L 24 июля 2015г в 00:31 #
Ок. Спасибо за предложения.
Правда думаю, мне не совсем это нужно.
Создал новый источник файлов.
Создал конфигурацию MIGX руководствуясь мануалом с rtfm.modx.com… (
Теперь при загрузке изображений на сервер в определенную папку, они появляются в виде migx ресурсов только после нажатия на кномку Load From Media Source (подтягиваются изображения через настроеный мной источник файлов) .


Теперь не могу понять, как написать плагин, каторый бы загружал таблицу с migx ресурсами автоматически, при открытии ресурса modx (OnDocFormPrerender) а не по нажатию на кнопку. Может поможете, с чего начинать то?

Не могу понять, какой сервис/процессор/класс загружается при нажатии на кнопку...
Может можно както простым способом «эмитировать» нажатие на кнопку?

spector1
spector 24 июля 2015г в 11:21 #
при нажатии через конектор
assets/components/migx/connector.php

вызывается:
action:mgr/loadfromsource
с параметрами, т.е.
core/components/migx/proccessors/loadfromsource.class.php

Да, вполне будет достаточно через плагин добавить js код вызывающий нажатие кнопки, что нибудь вроде:
Ext.get('id-кнопки').dom.click();
, только главное чтобы DOM был уже сформирован.
Хотя, возможно, это все реализуется и нативными средствами migx, ведь все же это, так сказать, костыль)
O
Oleg L 29 июля 2015г в 02:03 #
Спасибо за направление!
Теперь долго мучался с запуском процесса из loadfromsource.class.php

Изучал мануал, так ничего и не вышло…
Каким путем его завести? loadClass или runProcessor?

Если runProcessor, то какое у него название то?

Ext.get('id-кнопки').dom.click(); Вообще както извратно получится...
Хотелось бы через MODX Api всетаки)
spector1
spector 30 июля 2015г в 13:34 #
организация компонента MIGx не позволяет прямой вызов этого процессора. Так что просто вызвать runProccessor или loadClass не получится, там даже комментарий от разработчика по этому поводу имеется. Смотрите коннектор и плагин что там задействовано при вызове mgr/loadfromsource. Смотрите снипеты компонента, в общем это же открытый исходный код.
А в обще лучше использовать вариант с добавление кастомного javascript на страницу редактирования документа
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.