Kelola file media Anda menggunakan perpustakaan media spatie dengan GUI yang mudah digunakan untuk FilamentPHP
composer require tomatophp/filament-media-manager
sekarang Anda perlu mempublikasikan migrasi media
php artisan vendor:publish --provider= " SpatieMediaLibraryMediaLibraryServiceProvider " --tag= " medialibrary-migrations "
setelah menginstal paket Anda, silakan jalankan perintah ini
php artisan filament-media-manager:install
terakhir daftarkan plugin di /app/Providers/Filament/AdminPanelProvider.php
, jika ingin menggunakan GUI dan Folder Browser.
-> plugin ( TomatoPHP FilamentMediaManager FilamentMediaManagerPlugin :: make ())
->schema()
Anda dapat menggunakan manajer media dengan menambahkan kode ini ke komponen filamen Anda
use TomatoPHP FilamentMediaManager Form MediaManagerInput ;
public function form ( Form $ form )
{
return $ form -> schema ([
MediaManagerInput :: make ( ' images ' )
-> disk ( ' public ' )
-> schema ([
Forms Components TextInput :: make ( ' title ' )
-> required ()
-> maxLength ( 255 ),
Forms Components TextInput :: make ( ' description ' )
-> required ()
-> maxLength ( 255 ),
]),
]);
}
Anda dapat menambahkan pratinjau khusus ke jenis yang dipilih di manajer media dengan menambahkan kode ini ke penyedia Anda
use TomatoPHP FilamentMediaManager Facade FilamentMediaManager ;
use TomatoPHP FilamentMediaManager Services Contracts MediaManagerType ;
public function boot () {
FilamentMediaManager :: register ([
MediaManagerType :: make ( ' .pdf ' )
-> icon ( ' bxs-file-pdf ' )
-> preview ( ' media-manager.pdf ' ),
]);
}
pada file tampilan Anda, Anda dapat menggunakannya seperti ini
4 ">
Anda dapat melampirkan file js
atau css
global ke manajer media dengan menambahkan kode ini ke penyedia Anda
use TomatoPHP FilamentMediaManager Facade FilamentMediaManager ;
use TomatoPHP FilamentMediaManager Services Contracts MediaManagerType ;
public function boot() {
FilamentMediaManager ::register([
MediaManagerType :: make ( ' .pdf ' )
-> js ( ' https://mozilla.github.io/pdf.js/build/pdf.mjs ' ),
-> css ( ' https://cdnjs.cloudflare.com/ajax/libs/pdf.js/4.3.136/pdf_viewer.min.css ' ),
-> icon ( ' bxs-file-pdf ' )
-> preview ( ' media-manager.pdf ' ),
]);
}
harap dicatat bahwa name
komponen akan sama dengan nama koleksinya.
Anda dapat mengizinkan membuat dan mengelola subfolder pada manajer media Anda di /app/Providers/Filament/AdminPanelProvider.php
-> plugin (
TomatoPHP FilamentMediaManager FilamentMediaManagerPlugin :: make ()
-> allowSubFolders ()
)
sekarang Anda dapat mengizinkan pengguna untuk mengakses folder yang dipilih dan membatasi pengguna untuk mengakses folder satu sama lain jika folder tersebut tidak bersifat publik di /app/Providers/Filament/AdminPanelProvider.php
-> plugin (
TomatoPHP FilamentMediaManager FilamentMediaManagerPlugin :: make ()
-> allowUserAccess ()
)
sekarang pada model pengguna Anda, Anda dapat menggunakan sifat ini untuk memungkinkan pengguna mengakses folder yang dipilih
use TomatoPHP FilamentMediaManager Traits InteractsWithMediaFolders ;
class User extends Authenticatable
{
use InteractsWithMediaFolders ;
}
CATATAN jangan lupa untuk bermigrasi setelah memperbarui plugin
sekarang Anda dapat mengakses media dan folder Anda menggunakan API, Anda memiliki 2 titik akhir
/api/folders
untuk mendapatkan semua folder/api/folders/{id}
untuk mendapatkan folder berdasarkan id dengan sub folder dan file mediauntuk mengizinkan fitur ini Anda perlu mempublikasikan file konfigurasi dengan menggunakan perintah ini
php artisan vendor:publish --tag= " filament-media-manager-config "
kemudian Anda dapat mengatur api.active
ke true
pada file konfigurasi
' api ' => [
" active " => true ,
],
Anda dapat mempublikasikan file konfigurasi dengan menggunakan perintah ini
php artisan vendor:publish --tag= " filament-media-manager-config "
Anda dapat mempublikasikan file tampilan dengan menggunakan perintah ini
php artisan vendor:publish --tag= " filament-media-manager-views "
Anda dapat mempublikasikan file bahasa dengan menggunakan perintah ini
php artisan vendor:publish --tag= " filament-media-manager-lang "
Anda dapat mempublikasikan file migrasi dengan menggunakan perintah ini
php artisan vendor:publish --tag= " filament-media-manager-migrations "
Lihat TomatoPHP kami yang Luar Biasa