filament-blog
RMS
RMS 23 Feb 2025

Deskripsi

Plugin blog filament adalah plugin yang dilengkapi dengan berbagai fitur canggih yang dirancang untuk meningkatkan pengalaman blogging anda. Plugin ini hadir dengan berbagai fitur yang powerfull untuk membantu anda mengelola dan menyesuaikan postingan blog dengan efektif.

Fitur

  • Easy Installation : Proses instalasi yang sederhana dan mudah dipahami

  • User-Friendly Interface : Antarmuka yang intuitif dan mudah digunakan untuk mengelola potsingan blog dengan nyaman

  • SEO Meta Extention : Tingkatkan optimasi mesin pencari (SEO) blog anda dengan kustomisasi meta tag yang sudah terintegrasi

  • Post Schedule for Future : Jadwalkan postingan blog anda untuk diterbitkan pada tanggal dan waktu yang diinginkan.

  • Social Media Share Feature : Memungkinkan pengguna dengan mudah untuk membagikan postingan blog anda di platform media sosial.

  • Comment Feature : Aktifkan kolom komentar pada postingan blog anda untuk mendorong interaksi dan diskusi

  • Newsletter Subscription : Integrasikan formulir langganan newsletter untuk meningkatkan daftar email anda

  • New Post Published Notification : Beri tahu pelanggan saat postingan baru anda diterbitkan

  • Category Search : Kategorikan postingan blog anda untuk memudahkan navigasi dan pencarian

  • Support : Laravel 11 dan Filament 3.x

Instalasi

*) Jika projek laravel anda belum diinstall filament :

composer require firefly/filament-blog

php artisan filament:install --panels

*) Install Filament Blog Plugin :

composer require firefly/filament-blog

*) Anda dapat mulai menggunakan Filament Blog Plugin dengan menjalankan perintah berikut :

php artisan filament-blog:install

*) Jika anda mau mempublikasikan config dan migrations secara terpisah, anda dapatkan jalankan perintah berikut :

php artisan vendor:publish --tag=filament-blog-config
php artisan vendor:publish --tag=filament-blog-migrations

Perintah ini akan mempublikasikan file konfigurasi filamentblog.php dan file migrasi create_blog_table.php

  1. File konfigurasi akan tersedia di config/filamentblog.php. Silahkan anda modifikasi file konfigurasi ini sesuai kebutuhan daan rancangan database anda, pada file ini anda bisa men-setting prefix table blog anda.

  2. File migrasi akan tersedia di folder database/migrations.

*) Setelah itu anda bisa menjalankan migrasi tabel untuk kebutuhan Filament Blog Plugin :

php artisan migrate

*) Jika anda mau mempublikasikan views dan components secara terpisah, anda dapatkan jalankan perintah berikut :

php artisan vendor:publish --tag=filament-blog-views
php artisan vendor:publish --tag=filament-blog-components

*) Setelah menjalankan migrasi, Anda dapat membuat symbolic link ke direktori storage dengan menjalankan perintah berikut:

php artisan storage:link

Perintah ini akan membuat tautan simbolis dari public/storage ke direktori storage/app/public, sehingga file yang disimpan di storage dapat diakses secara publik melalui web.

Lampirkan filament blog panel ke dashboard

Untuk melampirkan Filament Blog Panel ke dashboard, Anda dapat menambahkan kode berikut ke Panel Provider Anda. Caranya adalah dengan menambahkan Blog::make() ke dalam metode plugins() pada panel Anda. Berikut langkah-langkahnya:

  1. Buka panel provider anda di app/Providers/Filament/AdminPanelProvider.php (atau nama panel Anda yang sesuai).

  2. Tambahkan blog plugin, di dalam metode panel(), tambahkan Blog::make() ke dalam metode plugins(). Contoh:

public function panel(Panel $panel): Panel
{
    return $panel
        ->default()
        ->id('admin')
        ->path('admin-console')
        ->login()
        ->colors([
            'primary' => Color::Amber,
        ])
        ->discoverResources(in: app_path('Filament/Resources'), for: 'App\\Filament\\Resources')
        ->discoverPages(in: app_path('Filament/Pages'), for: 'App\\Filament\\Pages')
        ->pages([
            Pages\Dashboard::class,
        ])
        ->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\\Filament\\Widgets')
        ->widgets([
            Widgets\AccountWidget::class,
            Widgets\FilamentInfoWidget::class,
        ])
        ->middleware([
            EncryptCookies::class,
            AddQueuedCookiesToResponse::class,
            StartSession::class,
            AuthenticateSession::class,
            ShareErrorsFromSession::class,
            VerifyCsrfToken::class,
            SubstituteBindings::class,
            DisableBladeIconComponents::class,
            DispatchServingFilamentEvent::class,
        ])
        ->authMiddleware([
            Authenticate::class,
        ])
        ->plugins([
            Blog::make()
        ]);
}

Mengatur relasi user dengan postingan

Jika ingin mengatur relasi user dengan postingan, anda bisa modifikasi user model dengan menambahkan HasBlog:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Firefly\FilamentBlog\Traits\HasBlog;

class User extends Authenticatable
{
    use HasFactory, Notifiable, HasBlog;

Dokumentasi dan Referensi

Leave a reply