This package is an extension exclusively designed for the MoonShine Admin Panel, building upon the functionality of the UniSharp Laravel FileManager package. This package introduces a user-friendly interface for managing files and images, allowing admins to easily upload, organize, and handle media directly within the admin panel.
Moonshine: v2.0+
UniSharp laravel-filemanager: v2.7+
- Intuitive File Management: Provides a simple and intuitive UI for managing files and images.
- Seamless Integration with Moonshine Admin Panel: Designed to integrate flawlessly with the Moonshine Admin Panel.
- Image Upload and Organization: Facilitates easy upload and organization of images.
- File Handling: Supports various file operations such as upload, delete, and rename.
-
Install the UniSharp Laravel FileManager package and follow the instructions in the documentation to set up the package correctly.
-
Install the package via composer:
composer require sweet1s/moonshine-filemanager
- For Resource, add the following: (In the screenshot you can see methods that can be used for File Manager, other methods that come from Field File do not work.)
// ...
use Sweet1s\MoonshineFileManager\FileManager;
use Sweet1s\MoonshineFileManager\FileManagerTypeEnum;
class PostResource extends ModelResource
{
public function fields(): array
{
return [
Block::make('Contact information', [
// ...
FileManager::make('Image', 'images')
->typeOfFileManager(FileManagerTypeEnum::File) // By default is FileManagerTypeEnum::Image
->title('Media Manager') // By default, is 'File Manager'
->allowedExtensions(['pdf', 'doc', 'txt']) // By default, all extensions are allowed
->removable() // By default is false
]),
];
}
}
- All fields to be used as filemanager must be under the cast collection
protected $casts = [ 'images' => 'collection', ];
//or
protected function casts(): array
{
return [
'images' => 'collection',
];
}