sebastienheyd/boilerplate-media-manager

Media Manager for sebastienheyd/boilerplate

7.3.4 2024-03-13 14:07 UTC

README

Packagist StyleCI Scrutinizer Code Quality Laravel Nb downloads MIT License

This package adds a media management tool to sebastienheyd/boilerplate

Installation

  1. In order to install Laravel Boilerplate Media Manager run :
composer require sebastienheyd/boilerplate-media-manager
  1. Run the command below to publish assets and configuration file
php artisan vendor:publish --tag=boilerplate
  1. Run the migration to add permissions
php artisan migrate
  1. Create the symbolic link from public/storage to storage/app/public
php artisan storage:link

Configuration

After vendor:publish, you can find the configuration file mediamanager.php in the app/config/boilerplate folder

Backend

TinyMCE

This media manager will be automatically used for images and files inclusion by the TinyMCE Blade component included with the sebastienheyd/boilerplate package.

Image selector

You can use the <x-boilerplate-media-manager::image> component to easily insert an image selector into your forms. This component allows you to use the media manager to select an image to use.

<x-boilerplate-media-manager::image name="image">

Parameters are :

File selector

You can use the <x-boilerplate-media-manager::file> component to easily insert a file selector into your forms. This component allows you to use the media manager to select a file to assign to the input field.

<x-boilerplate-media-manager::file name="file">

Parameters are :

Frontend

Img (fit or resize)

img will dynamically resize an image and returns the URL using Intervention and Storage (public disk)

{!! img('/storage/my_picture.jpg', 100, 100, [], 'resize') !!}

will return

<img src="/storage/thumbs/resize/100x100/my_picture.jpg?1555331285" width="100" height="100">

Or using the @img Blade directive :

@img('/storage/my_picture.jpg', 250, 150, ['class' => 'fluid-image'])

will return

<img src="/storage/thumbs/fit/250x150/my_picture.png?1555331285" width="250" height="150" class="fluid-image">

You can already get only the url by using img_url helper function.

Clear cache

You can clear all resized image by using the artisan command thumbs:clear

php artisan thumbs:clear

Language

You can translate or change translations by running php artisan vendor:publish --tag=boilerplate-media-manager-lang. After running this command, you will find translations folders into resources/lang/vendor/boilerplate-media-manager. Copy one of the language folders in the new language you want to create and all you have to do is to translate. If you want to share the language you have added, don't hesitate to make a pull request.

Views

You can override views by running php artisan vendor:publish --tag=boilerplate-media-manager-views. You will then find the views in the resources/views/vendor/boilerplate-media-manager folder.

Package update (Laravel < 8.6.9)

Laravel Boilerplate Media Manager comes with assets such as Javascript, CSS, and images. Since you typically will need to overwrite the assets every time the package is updated, you may use the --force flag :

php artisan vendor:publish --tag=boilerplate-public --force

To auto update assets each time package is updated, you can add this command to post-autoload-dump into the file composer.json at the root of your project.

{
    "scripts": {
        "post-autoload-dump": [
            "@php artisan vendor:publish --tag=boilerplate-public --force -q",
        ]
    }
}