novius/laravel-filament-publishable

A Laravel Filament package for publishable fields

Installs: 106

Dependents: 2

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/novius/laravel-filament-publishable

1.0.0 2026-02-18 13:50 UTC

This package is auto-updated.

Last update: 2026-02-18 15:42:04 UTC


README

Packagist Release License: AGPL v3

Introduction

This package allows you to manage Laravel Models which use Laravel Publishable in Laravel Filament.

Requirements

  • Laravel Filament >= 4
  • Laravel >= 11.0
  • PHP >= 8.2

NOTE: These instructions are for Laravel >= 10.0 and PHP >= 8.2 If you are using prior version, please see the previous version's docs.

Installation

You can install the package via composer:

composer require novius/laravel-filament-publishable

Usage

Insert Publishable fields, action and filter on your Filament Resource.

use Filament\Resources\Resource;

class Post extends Resource
{
    public static function form(Form $form): Form
    {
        return $form
            ->schema([
                // ...
                PublicationStatus::make('publication_status'),
                PublishedAt::make('published_at'),
                ExpiredAt::make('expired_at'),
                PublishedFirstAt::make('expired_at'),
                // ...
            ]);
    }

    public static function table(Table $table): Table
    {
        return $table
            ->columns([
                // ...
                PublicationColumn::make('publication_status'),
                // ...
            ])
            ->filters([
                // ...
                PublicationStatusFilter::make('publication_status'),
                // ...
            ])
            ->bulkActions([
                // ...
                PublicationBulkAction::make(),
                // ...
            ]);
    }

Lang files

If you want to customize the lang files, you can publish them with:

php artisan vendor:publish --provider="Novius\LaravelFilamentPublishable\LaravelNovaPublishableServiceProvider" --tag="lang"

Lint

Lint your code with Laravel Pint using:

composer run-script lint

Licence

This package is under GNU Affero General Public License v3 or (at your option) any later version.