Download the PHP package yurizoom/moonshine-media-manager without Composer
On this page you can find all versions of the php package yurizoom/moonshine-media-manager. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package moonshine-media-manager
MoonShine Media Manager
Файловый менеджер для MoonShine.
Поддержка версий
| MoonShine | Пакет | Документация |
|---|---|---|
| 4.0+ | 4.x | Ниже ↓ |
| 4.0+ | 3.x | Ниже ↓ |
| 3.0+ | 2.x | |
| 2.0+ | 1.x |
Скриншоты
| Менеджер | Пикер |
Установка
Настройка v4 (MoonShine 4+)
Полностью AJAX — загрузка, удаление, переименование, навигация по папкам без перезагрузки страницы.
После установки опубликуйте ассеты и конфиг:
Конфигурация
Конфиг публикуется в config/media-manager.php (корневой файл). Поддерживается
fallback — если ключи найдены в config/moonshine.php → media_manager, они
тоже применяются. Приоритет: standalone файл > moonshine.php > дефолты пакета.
Подключение OffCanvas
В app/MoonShine/Layouts/MoonShineLayout.php:
MediaManagerOffCanvas — глобальный компонент, рендерит offcanvas-панель с файловым менеджером. Именно через неё работают все picker-поля на страницах. Assets загружаются автоматически через компонент.
Добавление в меню (опционально)
Если auto_menu включён (по умолчанию), пункт появится автоматически. Для ручного размещения:
Поле MediaManagerPicker
Поле для выбора файлов из менеджера прямо в форме. Работает с обычными полями, Json и Layouts.
Базовое использование:
Фильтрация файлов — по типу или по расширению, можно комбинировать:
С Json:
С Layouts:
Возможности v4
- AJAX навигация — переход по папкам без перезагрузки
- Поиск / фильтр / сортировка — мгновенный поиск по имени, фильтр по типу (Images / Documents / Video / Audio / Archives), сортировка по имени / дате / размеру
- Загрузка файлов — множественная загрузка с проверкой MIME, расширения и размера. Drag-and-drop из файлового менеджера в любую область страницы. Redesigned modal с превью выбранных файлов и размером.
- Replace file — перезапись файла по тому же пути (контент меняется, URL не ломается)
- Move file — перемещение через folder browser без ввода путей вручную
- Создание папок — прямо из интерфейса, с проверкой на существование
- Переименование — с валидацией конфликтов и дубликатов
- Bulk delete — массовое удаление выбранных файлов из selection bar
- Удаление — с подтверждением
- Скачивание — по клику
- URL файла — просмотр ссылки с копированием
- Inline-валидация — ошибки показываются прямо в модалках, всё локализовано
- Два вида — таблица и сетка (grid)
- Пикер запоминает папку — при повторном открытии возвращается в последнюю папку
- Lazy-load — превью загружаются только при скролле к ним
- Cache-busting — после Replace браузер автоматически обновляет изображение
- Picker-поле — выбор файлов из менеджера прямо в форме
- Drag-and-drop reorder — перетаскивание для изменения порядка в picker
- Layouts / Json — полная интеграция с moonshine/layouts-field и Json-полями
Authorization (опционально)
По умолчанию любой аутентифицированный юзер MoonShine имеет полный доступ к менеджеру.
Для ограничения — задайте Gate ability в .env:
И определите Gate в AuthServiceProvider:
Теперь только админы имеют доступ. Остальные получают 403.
События
Пакет диспатчит события для интеграции с внешним кодом:
| Событие | Когда | Параметры |
|---|---|---|
MediaManagerFileUploaded |
Файл загружен | $path, $disk |
MediaManagerFileReplaced |
Файл заменён (Replace) | $path, $disk |
MediaManagerFileDeleted |
Файл удалён | $path, $disk |
Конфигурация v4
| Параметр | По умолчанию | Описание |
|---|---|---|
disk |
public |
Диск файлового хранилища (только локальный) |
allowed_ext |
jpg,jpeg,png,... |
Разрешённые расширения (с MIME-проверкой) |
max_file_size |
10485760 (10 MB) |
Макс. размер загружаемого файла |
rename_duplicates |
true |
Переименовать дубликат (file.jpg → file-1.jpg) вместо перезаписи |
auto_menu |
true |
Автоматически добавить в боковое меню |
ability |
null |
Gate ability для авторизации (null = без проверки) |
default_view |
table |
Вид по умолчанию: table или list |
Настройка v3 (MoonShine 4)
Добавьте в config/moonshine.php:
Для добавления в меню:
Настройка v2 (MoonShine 3)
Если необходимо изменить настройки, добавьте в файл config/moonshine.php:
Для добавления в меню в app/MoonShine/Layouts/MoonShineLayout.php:
Разработка
Для сборки ассетов (JS + CSS) из исходников:
Готовые файлы появятся в dist/. Для публикации в проекте:
Лицензия
The MIT License (MIT).