[ms2guploader] Загрузка с фронтэнда в ms2Gallery
Небольшое решение на основе ms2form.
Умеет: аплоад драг н дроп, менять местами фотки, удалять фото.
Вообще как работает у меня:
Есть форма создания компании, company/form, если $_GET[id] пуст — компонент создает фотки в assets/resources/0/{user_id}, если же ?id=5 то присоеденит к ресурсу. при сохранении переносит фото.
Использование: [[!ms2guploader]] в нужном месте. Не забудьте права ms2guploaderUserPolicy
Можно указать &pid для определенного ресурса.
github.com/but1head/ms2gUploader
Комментарии: 85
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
зачем же хоронить полезную вещь?
Выложу, без проблем, если найду ;)
Второй сложность будет рендерить tv из админки (именно как там, в админке, у сторонних компонентов, типа yandex карт).
А так все реализуемо :)
p.s. пожертвования конечно хороший стимул, моб.номер он же киви\сбер
Это же фронтентд как-никак… Очень нужная возможность!
Проверки правда слабые, можно обойти. Позже получше сделаю.
В каком таком «нужном месте» нужно его использовать? Как должна выглядеть форма? Где должен быть $_GET[id]?
Можно пример использования?
Скорее всего я не с того конца подхожу — нужен пример, даже самый простой!
При этом я при переходе к редактированию тикета в url добавляю id=id_редактируемого_тикета
И вообще, будет ли работать отдельно от всяких форм? Или с кастомной формой (например у меня есть форма, которая отправляется на мой сниппет по ajax и через api добавляет тикет (не через процессоры).
И выводит ли сниппет уже загруженные фотки, или только их загружает?
1. У меня есть страница (/add.html) на которой я делаю простейший вызов сниппета:
2. Есть страница (тикет), под id 122, в который через админку загружены для примера пару фоток.
3. Вызываю страницу /add.html?id=122, но получаю лишь плитку добавления фоток, а при попытке загрузки фотки шкала загрузки заполняется и исчезает, но появляется вышеуказанная ошибка:
Что я неправильно понимаю?
У меня это не через тикетс работает, а через кастом, но у людей через тикетс заводится.
При создании тикета он грузит фотки в assets/images/0/{$user_id}/ и при сохранении переносит фоток в assets/images/{$resource_id}/
Мб права на assets/images/ не настроены?
— Пользователь в группе Administrator.
— dl2.joxi.net/drive/2016/05/10/0003/1223/218311/11/f6067ddc1a.jpg — права для группы настроены.
— Загруженные через админку файлы вывел, нужно было только указать размер превьюшек 120x90.
— Загруженные через админку файлы удаляются через фронт, но не добавляются новые (та же ошибка HTTP.
— dl2.joxi.net/drive/2016/05/10/0003/1223/218311/11/3b473f0de9.jpg — ошибка в консоли, ругается на файл /ms2guploader/action.php
— Заметил странные глюки и тормоза со стороны хостинга как начал испытывать это дополнение. Постоянные глюки, недогрузы страниц в админке, 502-е ошибки.
— Вот несколько строк с лога ошибок сервера:
— dl2.joxi.net/drive/2016/05/10/0003/1223/218311/11/842578ab7b.jpg — если разлогиниться, то получается такая картина: плитка не нажимается, ругается на 'ticket'. Подозреваю оттого что параметр сниппета &class по умолчанию = Ticket. Если страница не тикет, то какой класс там указывать, modDocument?
Может ли неавторизованный пользователь загружать фотки, если группе (аноним) дать те же права?
Дополнение классное! Буду дальше копать…
Возможно у тебя в будущем появится время причесать до пакета для модстор — было бы круто!
По поводу добавления изображений в момент создания тикета — не знаю — я вывожу аплоадер только если тикет уже создан, так же как и в админке — панель с галереей не появяется до сохранения ресурса…
В остальном стандартная форма редактирования тикета + вызов сниппета ms2guploader, который выше привел
Собрал демку: http://s4477.h2.modhost.pro/uploader/
Спасибо ещё раз за его разработку!
При попытке вручную создать папку 0 в assets/resources/ админка выводит ошибку
Удалил папку 1 и создал через фтп папку 0. Фотки всё равно грузятся в папку 1.
Возможно из-за этого у меня фотки не прикрепляются к создаваемым тикетам.
Далее для вывода в коментах джойны в msResourceFile.resource_id = comment.id
Просто у меня принцип такой: форму создания можно отправить как авторизованным, так и неавторизованным с автоматической регистрацией в фоне…
Управление с фронтенда удобное, интуитивно-понятное. Работает шустро.
На моей мобилке работает только удаление фотографий, перетаскивание и добавление нет.
Вообще это не критично — кто будет заливать на сайт фотки с телефона? Но еще буду смотреть, вдруг получится починить.
Сейчас попробовал еще раз — работает загрузка файлов… Очень странно. Вчера была ошибка «http request» или как-то так.
Перетаскивание все еще не работает, но это меньшее из зол.
С тех же устройтсв через Chrome загрузка работает нормально.
Есть форма подачи объявления, хочу прикрутить ваш компонент в качестве загрузчика фото к объявлению.
Работает все это дело на minishop2.
Для создания объявлений (товаров) использую собственный скрипт.
При попытке загрузить фото выдает ошибку http, в логах пишется следующее:
[2016-11-26 09:25:37] (ERROR @ -----/public_html/core/xpdo/xpdo.class.php: 643) Could not load class: ms2Gallery from ms2gallery.
[2016-11-26 09:25:37] (ERROR @ ----/public_html/core/xpdo/xpdo.class.php: 1245) Problem getting service ms2gallery, instance of class ms2Gallery, from path ----/public_html/core/components/ms2gallery/model/ms2gallery/
Если руками поковырять то можно, из коробки не будет работать.
Реализован личный кабинет для сотрудников в отдельном контексте, добавляю товары на сайт через ms2form+ms2Gallery, стандартный механизм загрузки файлов работает, [[!ms2guploader]] ни как не хочет(
Первый раз он завелся, загрузил 1 фотографию потом отказался работать, в консоль пишет js ошибку в этом месте
plupload is not defined, но первый раз дал загрузить 1 фотографию
Компонент очень плохо задокументирован, в настройках пробовал менять class на ms2form, источник файлов указывал, отключал все скрипты подключаемые на страницах, менял библиотеки jquery.?
Что можно еще сделать? подскажите пожалуйста.
по остальному у вас ms2form перебивает ms2guploader (plupload), да и видимо у вас вообще не подключается скрипт plupgload на страницу.
Подключил вручную plupload.full.min.js, заработало, теперь при попытки сохранить пишет Error missing $_REQUEST[form_key] or not find this in session data, разбираюсь дальше.
Спасибо за информацию, будем ждать обновления.
— поддержка ms2gallery 2.0+
— множество мелких фиксов
Не нашел упоминания об этом в описании…
Я тут подумал, ведь по сути с тегами можно было бы организовать удобную загрузку файлов к комментариям или другим сущностям на странице! А после сортировать и выводить по тегам, например тег comment-12, comment-13 и т.д.
Если нет такой возможности, планируется ли разработка в этом направлении?
Фото к коментам лучше делать в тикетс, там уже и свой загрузчик есть.
ms2Gallery активно использует в своей работе теги. Вот пример параметров из доков:
ЧТО?? ГДЕ??? Либо я слепой, либо мы говорим о разных вещах.
Специально проверил родные чанки формы комментария — там нет и намёка об этом.
Можешь пояснить, что ты имел ввиду?
Загрузчик есть у тикетов, а не коментов, костылить свой компонент к комментам я не готов.
Как я и расписал мои мысли выше — по сути если реализовать загрузку изображений в ms2Gallery с фронта указывая теги, то можно потом привязывать галерею ресурса, отфильтрованную по тегам к абсолютно любым сущностям, например к комментариям.
Это пока что лучшее направление для прикрепления файлов к комментариям и удобным отображением их в админке что я нашел!
Потому что я не вижу особого смысла грузить файлы через ms2gUploader на фронте, а потом вручную добавлять теги файлам в админке…
Если доработаешь компонент для работы с талицей тегов ms2Gallery — будет очень удобно!
Поддержка тегов в ms2guploader решила бы проблему, можно было бы загружать все изображения в родительский ресурс, а выводить на виртуальных страницах по тегам.
upd: в исходниках этих настроек нету, видимо ты что-то где-то прописал, или осталось с прошлой версии (где могло быть случайно).
Для других файлов (doc,txt,pdf) прийдётся модифицировать сниппет?
При загрузке файла плитка выводится с пустым плейсхолдером thumb и без плейсхолдера type, а при перезагрузке страницы уже выбираются только файлы с превьюшками и исключаются из выборки другие типы файлов.
А то название компонента ms2gUploader, а выводит только изображения в отличие от ms2Gallery.
Фото загружается, но не сохраняется и не сохраняется сортировка в уже загруженных фото… можете написать норм мануал, а то слова «вставить там где надо» немного непонятны ;) Спасибо!
настройка источника:
с админки знак проставляется, с фронта нет
если пользователь создает тикет, но не сохраняет ее, а в это время другой пользователь тоже начинает создавать тикет — он видит фотки, загруженные другим пользователем, как будто это он их залил. В сниппете в выборке файлов пропущен параметр 'createdby' => $modx->user->id. С ним всё норм стало.
p.s. можно isMember('Administrator') или как там для админа
Скажите, при установке такое сообщение PHP warning: Invalid argument supplied for foreach(), что значит?
Т.е. ресурс уже создан, и я знаю id ресурса, хочу чтобы фотки сразу загружались в нужную папку и привязывались к нужному ресурсу
И еще удаление не работает. Просто не происходит никаких действий
Инструкции для компонента нет нормальной, поэтому разобраться нереально самому
Наверно))
Не могу заставить работать.
Можно просто в ресурсе?
Пока дошел тольео до js ошибок в консоли.
plupload is not defined
Файл plupload.full.min.js подключается…
А если серьезно — то альтернативы как будто нет.