vlastimilvasek/livewire-advanced-media-library 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

vlastimilvasek/livewire-advanced-media-library

Composer 安装命令:

composer require vlastimilvasek/livewire-advanced-media-library

包简介

A reusable Livewire image gallery manager for Spatie Media Library.

README 文档

README

A reusable Livewire image gallery manager for Laravel applications using Spatie Media Library.

The component is inspired by ebess/advanced-nova-media-library, but targets Blade and Livewire views outside Nova.

Current Scope

  • image tiles with previews
  • multiple uploads
  • captions stored in media custom properties
  • delete existing images
  • reorder existing images with drag and drop
  • store uploaded files as optimized image files instead of keeping large raw uploads
  • use Spatie Media Library conversions for previews and public display

Crop support is intentionally not part of the first version.

Installation

composer require vlastimilvasek/livewire-advanced-media-library

Publish the config when needed:

php artisan vendor:publish --tag=livewire-advanced-media-library-config

Publish the Blade views when you want to customize the field markup and styling:

php artisan vendor:publish --tag=livewire-advanced-media-library-views

Publish translations when you need to customize labels:

php artisan vendor:publish --tag=livewire-advanced-media-library-translations

Or publish all customizable resources at once:

php artisan livewire-advanced-media-library:install

Use --force to overwrite previously published files:

php artisan livewire-advanced-media-library:install --force

Usage

The model must implement Spatie\MediaLibrary\HasMedia.

<livewire:advanced-media-library
    :model="$zapis"
    collection="zapisy"
    preview-conversion="preview"
    custom-property-name="popis"
    :max-items="8"
/>

Uploaded files are converted to an optimized main media file before being added to the media collection. That optimized file becomes the Media Library "original", so the large raw browser upload is not retained.

Model Example

use Spatie\MediaLibrary\MediaCollections\Models\Media;

public function registerMediaConversions(?Media $media = null): void
{
    $this->addMediaConversion('preview')
        ->width(300)
        ->height(300)
        ->nonQueued();

    $this->addMediaConversion('basic')
        ->width(1600)
        ->height(1600)
        ->nonQueued();
}

Events

The component dispatches advanced-media-library-saved after saving. It also listens for advanced-media-library-save, so a parent Livewire component can hide the internal save button and save media from its own workflow.

Translations

The package ships with English (en) and Czech (cs) translations. Additional languages can be added by publishing translations and creating another locale directory, for example lang/vendor/livewire-advanced-media-library/de/messages.php.

Customizing Views

Published views are copied to resources/views/vendor/livewire-advanced-media-library. Laravel will automatically use those files instead of the package defaults, so each project can adjust Tailwind classes, markup, icons, and layout without editing files in vendor.

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-05-17

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固