Sistem CMS lengkap dengan pembuat halaman & pengelola tema yang mudah digunakan untuk FilamentPHP
composer require tomatophp/filament-cms
setelah menginstal paket Anda, silakan jalankan perintah ini
CATATAN jika Anda perlu menyesuaikan beberapa fitur, harap jangan gunakan perintah ini dan ikuti langkah selanjutnya karena langkah ini menjalankan migrasi dan Anda perlu melakukan konfigurasi khusus sebelum menjalankan migrasi.
php artisan filament-cms:install
terakhir daftarkan plugin di /app/Providers/Filament/AdminPanelProvider.php
-> plugin (
TomatoPHP FilamentCms FilamentCMSPlugin :: make ()
-> useCategory ()
-> usePost ()
-> allowExport ()
-> allowImport ()
)
sekarang silakan publikasikan dan migrasikan tabel media
php artisan vendor:publish --provider= " SpatieMediaLibraryMediaLibraryServiceProvider " --tag= " medialibrary-migrations "
php artisan migrate
Anda dapat mengizinkan impor konten dari youtube dengan menambahkan YOUTUBE_KEY
ke .env
Anda
YOUTUBE_KEY = YOUR_YOUTUBE_KEY
sekarang di penyedia panel Anda /app/Providers/Filament/AdminPanelProvider.php
tambahkan metode ini
-> plugin ( TomatoPHP FilamentCms FilamentCMSPlugin :: make ()-> allowYoutubeImport ())
pertama-tama Anda perlu menginstal dusk
sebagai paket utama untuk mengaktifkan fitur ini
composer require laravel/dusk
sekarang instal driver senja
php artisan dusk:install
sekarang Anda harus mengizinkan impor behanace pada penyedia panel Anda /app/Providers/Filament/AdminPanelProvider.php
tambahkan metode ini
-> plugin ( TomatoPHP FilamentCms FilamentCMSPlugin :: make ()-> allowBehanceImport ())
Anda dapat menambahkan tipe khusus ke CMS dengan menggunakan metode Fasad pada metode boot()
AppServiceProvider Anda
use TomatoPHP FilamentCms Facades FilamentCMS ;
use TomatoPHP FilamentCms Services Contracts CmsType ;
public function boot ()
{
FilamentCMS :: types ()-> register ([
CmsType :: make ( ' building ' )
-> label ( ' Buildings ' )
-> icon ( ' heroicon-o-home ' )
-> color ( ' danger ' )
]);
}
Anda dapat menambahkan lebih banyak tipe penulis dengan menggunakan metode Fasad pada metode boot()
AppServiceProvider Anda
use TomatoPHP FilamentCms Facades FilamentCMS ;
use TomatoPHP FilamentCms Services Contracts CmsAuthor ;
public function boot ()
{
FilamentCMS :: authors ()-> register ([
CmsAuthor :: make ( ' Admin ' )
-> model ( App Models User ::class)
]);
}
pengelola tema dibuat dengan Modul Laravel sehingga Anda perlu menginstalnya terlebih dahulu
Catatan : jika anda menginstall tomatophp/filament-plugins
tidak perlu menginstall nwidart/laravel-modules
karena sudah terinstal
composer require nwidart/laravel-modules
sekarang di composer.json
Anda tambahkan ke autoload psr-4
{
"autoload" : {
"psr-4" : {
"App \ " : " app/ " ,
"Modules \ " : " Modules/ "
}
}
}
sekarang jalankan perintah ini untuk memuat tema secara otomatis
composer dump-autoload
dan Anda memerlukan paket lain untuk menyimpan cache dan mengembalikan tema sebagai model kami menggunakan paket sushi
composer require calebporzio/sushi
sekarang di config filament-cms
Anda
return [
/*
* ---------------------------------------------------
* Allow Features
* ---------------------------------------------------
*/
" features " => [
" theme-manager " => true ,
],
];
sekarang Anda perlu mengaktifkan tabel pengaturan
php artisan vendor:publish --provider= " SpatieLaravelSettingsLaravelSettingsServiceProvider " --tag= " migrations "
php artisan migrate
sekarang Anda dapat menggunakan Manajer tema untuk mengelola tema multi frontend di aplikasi Anda, di penyedia panel Anda /app/Providers/Filament/AdminPanelProvider.php
tambahkan metode ini
-> plugin ( TomatoPHP FilamentCms FilamentCMSPlugin :: make ()-> useThemeManager ())
sekarang Anda dapat mengakses /admin/themes
untuk mengelola tema Anda dan Anda dapat membuat tema baru menggunakan baris perintah ini
php artisan filament-cms:theme
Anda akan menemukan modul baru dengan file module.json
khusus di direktori Modules
Anda
pembuat halaman membuatnya sangat mudah untuk menyesuaikan halaman Anda dan menghasilkan halaman yang dimuat secara otomatis untuk membangun situs web Anda menggunakan Sections
untuk mulai menggunakannya, Anda perlu menambahkan metode ini pada penyedia panel Anda /app/Providers/Filament/AdminPanelProvider.php
-> plugin ( TomatoPHP FilamentCms FilamentCMSPlugin :: make ()-> usePageBuilder ())
hal pertama yang Anda perlukan adalah membuat Bagian pada metode boot()
AppServiceProvider Anda
use TomatoPHP FilamentCms Services Contracts Section ;
use TomatoPHP FilamentCms Facades FilamentCMS ;
use Filament Forms Components TextInput ;
FilamentCMS :: themes ()-> register ([
Section :: make ( ' hero ' )
-> label ( ' Hero Section ' )
-> view ( ' sections.pages.hero ' )
-> form ([
TextInput :: make ( ' title ' )
-> label ( ' title ' ),
TextInput :: make ( ' description ' )
-> label ( ' description ' ),
TextInput :: make ( ' url ' )
-> url ()
-> label ( ' url ' ),
TextInput :: make ( ' button ' )
-> label ( ' button ' ),
])
]);
CATATAN: kunci bagian harus unik
setelah mendaftarkan bagian Anda, Anda dapat mulai menggunakan pembuat halaman, Anda perlu membuat rute baru untuk halaman Anda seperti ini
use Illuminate Support Facades Route ;
Route :: get ( ' / ' , function () {
$ page = load_page ( ' / ' );
return view ( ' welcome ' , compact ( ' page ' ));
});
seperti yang Anda lihat, Anda perlu menggunakan load_page
helper untuk memuat halaman Anda dan meneruskannya ke tampilan Anda, metode ini memeriksa apakah halaman tersebut ada dengan slug
dan mengembalikan data halaman jika halaman tidak ada atau dihapus maka akan memulihkannya atau membuatnya untuk Anda
pada file welcome.blade.php
Anda perlu menggunakan komponen blade ini
< x-tomato-builder-toolbar :page =" $page " allow-layout />
jika Anda perlu menggunakan Filament Layout untuk memudahkan mengaktifkan Livewire / Tailwind Style gunakan allow-layout
jika Anda perlu menggunakannya tanpa style apa pun Anda dapat menggunakannya tanpa atribut ini
sekarang jika Anda membuka halaman Anda, Anda akan menemukan tampilan pembangun seperti ini
Anda dapat menambahkan lebih banyak bidang ke pembuat formulir dengan menggunakan metode ini pada penyedia Anda.
use TomatoPHP FilamentCms Services FilamentCMSFormFields ;
use TomatoPHP FilamentCms Services Contracts CmsFormFieldType ;
FilamentCMSFormFields :: register ([
CmsFormFieldType :: make ( ' code ' )
-> className ( CodeEditor ::class)
-> color ( ' warning ' )
-> icon ( ' heroicon-s-code-bracket-square ' )
-> label ( ' Code Editor ' ),
]);
setelah membuat formulir Anda, Anda dapat menggunakannya dengan key
seperti ini
use TomatoPHP FilamentCms Services FilamentCMSFormBuilder ;
FilamentCMSFormBuilder :: make ( ' xvssd ' )-> build ()
Anda dapat menggunakan permintaan formulir untuk mengirimkan data formulir Anda dengan menggunakan metode ini pada penyedia Anda.
use TomatoPHP FilamentCms Services FilamentCMSFormBuilder ;
FilamentCMSFormBuilder :: make ( ' xvssd ' )-> send ( $ data )
Anda dapat menggunakan perisai untuk melindungi sumber daya Anda dan mengizinkan peran pengguna dengan menginstalnya terlebih dahulu
composer require bezhansalleh/filament-shield
Tambahkan sifat SpatiePermissionTraitsHasRoles ke model Pengguna Anda:
use Illuminate Foundation Auth User as Authenticatable ;
use Spatie Permission Traits HasRoles ;
class User extends Authenticatable
{
use HasRoles ;
// ...
}
Publikasikan file konfigurasi lalu atur konfigurasi Anda:
-> plugin ( BezhanSalleh FilamentShield FilamentShieldPlugin :: make ())
Sekarang jalankan perintah berikut untuk menginstal perisai:
php artisan shield:install
Sekarang kita dapat mempublikasikan aset paket.
php artisan vendor:publish --tag= " filament-users-config "
sekarang Anda harus mengizinkannya pada opsi plugin
-> plugin ( TomatoPHP FilamentCms FilamentCMSPlugin :: make ()-> allowShield ())
untuk informasi lebih lanjut periksa Filament Shield
terkadang Anda perlu menambahkan beberapa logika khusus ke postingan Anda seperti mengirim email atau memberi tahu pengguna bahwa Anda dapat menggunakan acara postingan untuk melakukan ini, dan acara yang didukung adalah:
TomatoPHP FilamentCms Events PostCreated ::class
TomatoPHP FilamentCms Events PostUpdated ::class
TomatoPHP FilamentCms Events PostDeleted ::class
Anda dapat mempublikasikan file konfigurasi dengan menggunakan perintah ini
php artisan vendor:publish --tag= " filament-cms-config "
Anda dapat mempublikasikan file tampilan dengan menggunakan perintah ini
php artisan vendor:publish --tag= " filament-cms-views "
Anda dapat mempublikasikan file bahasa dengan menggunakan perintah ini
php artisan vendor:publish --tag= " filament-cms-lang "
Anda dapat mempublikasikan file migrasi dengan menggunakan perintah ini
php artisan vendor:publish --tag= " filament-cms-migrations "
Lihat TomatoPHP kami yang Luar Biasa