sebastienheyd/boilerplate-media-manager

为 sebastienheyd/boilerplate 提供媒体管理工具

7.3.4 2024-03-13 14:07 UTC

README

Packagist StyleCI Scrutinizer Code Quality Laravel Nb downloads MIT License

此包向 sebastienheyd/boilerplate 添加了媒体管理工具

安装

  1. 为了安装 Laravel Boilerplate Media Manager,请运行以下命令:
composer require sebastienheyd/boilerplate-media-manager
  1. 运行以下命令以发布资源和配置文件
php artisan vendor:publish --tag=boilerplate
  1. 运行迁移以添加权限
php artisan migrate
  1. public/storagestorage/app/public 创建符号链接
php artisan storage:link

配置

在执行 vendor:publish 之后,您可以在 app/config/boilerplate 文件夹中找到配置文件 mediamanager.php

后端

TinyMCE

此媒体管理器将自动用于由 TinyMCE Blade 组件 包含在 sebastienheyd/boilerplate 包中,以便包含图像和文件。

图像选择器

您可以使用 <x-boilerplate-media-manager::image> 组件轻松将图像选择器插入到您的表单中。此组件允许您使用媒体管理器选择要使用的图像。

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

参数是

文件选择器

您可以使用 <x-boilerplate-media-manager::file> 组件轻松将文件选择器插入到您的表单中。此组件允许您使用媒体管理器选择分配给输入字段的文件。

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

参数是

前端

Img(适配或调整大小)

img 将动态调整图像大小并返回 URL(使用 Intervention 和 Storage [公共磁盘])

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

将返回

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

或使用 @img Blade 指令

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

将返回

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

您可以使用 img_url 辅助函数获取仅 URL。

清除缓存

您可以使用 artisan 命令 thumbs:clear 清除所有调整大小后的图像

php artisan thumbs:clear

语言

您可以通过运行 php artisan vendor:publish --tag=boilerplate-media-manager-lang 来翻译或更改翻译。运行此命令后,您将在 resources/lang/vendor/boilerplate-media-manager 中找到翻译文件夹。将新语言中要创建的语言文件夹的一个复制到新语言中,然后进行翻译。如果您想分享您添加的语言,请不要犹豫,提交一个 pull request。

视图

您可以通过运行 php artisan vendor:publish --tag=boilerplate-media-manager-views 来覆盖视图。然后您将在 resources/views/vendor/boilerplate-media-manager 文件夹中找到视图。

包更新(Laravel < 8.6.9)

Laravel Boilerplate Media Manager 包含了诸如 JavaScript、CSS 和图像之类的资源。由于您通常需要在更新包时覆盖资源,因此您可以使用 --force 标志

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

要自动在每次更新包时更新资源,请将此命令添加到项目根目录中 composer.json 文件中的 post-autoload-dump

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