FileMan - прикрепление файлов к ресурсам для MODX 3
Привет!
Большинство из вас знакомо с компонентом FileAttach, который позволяет прикреплять файлы к ресурсам. К сожалению, FileAttach для MODX 3 не существует (по состоянию на конец 2023 года).
В своё время мною был сделан компонент на базе FileAttach с некоторыми другими, нужными мне, функциями:
— добавлено поле group, для того, чтобы группировать на фронте файлы (к примеру «Документы» => список файлов, «Каталоги» => список файлов);
— загрузка файлов по ссылке в панели управления;
— что-то ещё, за давностью лет и не помню.

Чтобы не путаться, я свою версию компонента назвал FileMan (от man — manager). И в какой-то момент компонент был адаптирован для MODX 3.
Пакет для установки доступен в репозиториях
https://modstore.pro/packages/photos-and-files/fileman
https://extras.modx.com/package/fileman1
Исходники:
https://github.com/createit-ru/FileMan
Документация:
https://docs.modx.pro/components/fileman/
Примечания:
—документации пока нет, надеюсь подготовить в ближайшее время, есть!, ссылка выше.
—это beta, уже релизная версия, первые баги были поправлены и доработки преводены.
— на MODX 2 даже не пытайтесь устанавливать! Только для MODX 3!
Пишите в комментариях ваши замечания, пожелания. Возможно, вам нужен еще какой-то функционал — доработаем по согласованию.
Если вам пригодился компонент, есть желание поблагодарить чашкой кофе — можно сделать это нажав на кнопочку:

Благодарности ускорят внедрение новых функций, увеличат мою мотивацию, заставят меня внимательно прислушиваться к вашим пожеланиям!!!
Большинство из вас знакомо с компонентом FileAttach, который позволяет прикреплять файлы к ресурсам. К сожалению, FileAttach для MODX 3 не существует (по состоянию на конец 2023 года).
В своё время мною был сделан компонент на базе FileAttach с некоторыми другими, нужными мне, функциями:
— добавлено поле group, для того, чтобы группировать на фронте файлы (к примеру «Документы» => список файлов, «Каталоги» => список файлов);
— загрузка файлов по ссылке в панели управления;
— что-то ещё, за давностью лет и не помню.

Чтобы не путаться, я свою версию компонента назвал FileMan (от man — manager). И в какой-то момент компонент был адаптирован для MODX 3.
Пакет для установки доступен в репозиториях
https://modstore.pro/packages/photos-and-files/fileman
https://extras.modx.com/package/fileman1
Исходники:
https://github.com/createit-ru/FileMan
Документация:
https://docs.modx.pro/components/fileman/
Примечания:
—
—
— на MODX 2 даже не пытайтесь устанавливать! Только для MODX 3!
Пишите в комментариях ваши замечания, пожелания. Возможно, вам нужен еще какой-то функционал — доработаем по согласованию.
Если вам пригодился компонент, есть желание поблагодарить чашкой кофе — можно сделать это нажав на кнопочку:

Благодарности ускорят внедрение новых функций, увеличат мою мотивацию, заставят меня внимательно прислушиваться к вашим пожеланиям!!!
Комментарии: 74
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Есть проблема — при установке fileMan с Collections при создании ресурса в коллекции получаю такую ошибку:
После удаления fileMan — ошибка исчезает.
Временно можно в плагине в начале поставить проверку типа
В MODX 3 создание ресурса теперь реализовано через отдельное упрощенное окно, похожее быстрое создание ресурса. Ну и для этого окна не возникает события OnDocFormPrerender.
А при использовании Collection ресурс создается старым способом, с открытием новой страницы (?a=resource/create).
Я этот момент как-то упустил. В общем сейчас при создании ресурса вкладка Файлы не показывается.
В консоли:
В журнале:
Т.е. если обновиться с MODX 2 на 3 и вместо FileAttach установить FileMan, то увидит ли новый компонент файлы, прикреплённые с помощью FileAttach?
Но скопировать данные sql запросом можно.
Я хотел сделать набор разрешений, но не доделал, а следы остались.
В общем в плагине FileMan найди строчку 14, закомментируй её:
Еще один пермишн проверяется при загрузке файлов «file_upload», но это стандартный MODx, который нужен для загрузки файлов.
Нужно повнимательнее перепроверить, но это в свободное время.
А новую версию да, выпущу. Вообще, думаю стоит сделать набор permissions и политики, чтобы управлять этим можно было всем.
А дело действительно в строчке. Комментирование не помогло. И я просто вписал в неё какие-то существующие разрешения. :)
Так сказать, методом научного тыка. :)
Я запульнул новую версию в репозиторий, где добавил шаблон политик FileManPolicyTemplate и политику FileManPolicy на его основе.
Правда на моем демо сайте сама политика в силу каких-то причин не создалась… только шаблон. Политику можно создать на основе шаблона. Проверь, создалась ли у тебя политика…
ну и соответственно в группу менеджеров можно добавить эту политику, чтобы дать права.
Там такие разрешения:
fileman — доступ к основному контроллеру компонента (Пакеты / FileMan)
fileman_list — список файлов
fileman_resource_tab — вкладка у ресурса
fileman_create — загрузка новых файлов
fileman_save — любое редактирование
fileman_remove — удаление файла
При попытке создать из шаблона политик новую с названием FileManPolicy — говорит, что такая политика уже есть.
Но в списке политик её не видно. В чем может быть дело?
У меня он выложен еще в modx.com, но у них настолько глючный репозиторий… я уже 3 раза писал им по поводу критичных ошибок, из-за которых просто невозможно выложить пакет — но воз и ныне там, я не могу выложить обновление.
Как я понимаю, это было сделано для того, чтобы можно было гибко ограничивать конкретные источники файлов.
Вот посмотри код, я вижу что проверка внутри объекта modMediaSource и там проверяется именно системная настройка upload_maxsize
Да и судя по коды (ссылку давал выше) — оно не будет учитываться. Этот функционал, вероятно, нужно дописывать самостоятельно (имею ввиду в компоненте), как это сделано, к примеру, в галерее miniShop2
Алексей, добавить эту функциональность сможете для компонента? Или это сложно?
А с помощью FileMan грузят документы — pdf, docx и т.д. Для источника FileMan нужно установить своё ограничение, чтобы могли грузить документы большего размера. И при этом — не увеличивать размер для остальных источников.
Конечно, идеальным сценарием, было бы здорово иметь возможность выбирать источники файлов для каждого ресурса. Как это сделано в ms2gallery. Тогда получится совсем гибко. :)
ну там политика есть FileManPolicy и шаблон этой политики FileManPolicyTemplate, с ними поиграть? я лично не делал, не проверял особо
но если что — исходный код компонента открыт) велком!
На 2-ку был кайфовый компонент ImgsPaste. который умеет работать с галереями MIGX, Ms2Gallery и msGallery и дает возможность манагерам просто и быстро вставлять изображения в текст (CKEditor или TinyMCE). Сейчас правда он пропал с модстор
Пока под тройку ничего такого не находил
MODX сам меняет название загружаемого файла, было что-то подобное, ранее сталкивался, но вроде так и не поправил