Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Filament News Laravel Package

novius/laravel-filament-news

Filament v4 admin package to manage news posts in Laravel 11+: create posts with categories and tags, attach multiple of each, and browse categories as listing pages. Includes migrations and configurable routes, models, resources, and locales.

View on GitHub
Deep Wiki
Context7

Laravel Filament News

Novius CI Packagist Release License: AGPL v3

Introduction

This Laravel Filament package allows you to manage Post news in your Laravel Filament admin panel.
You will be able to create posts, categories and tags.
You can attach multiple categories and tags to a post. Categories can be viewed as a listing page.

Requirements

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

Installation

You can install the package via composer:

composer require novius/laravel-filament-news

Run migrations with:

php artisan migrate

In your AdminFilamentPanelProvider add the PageManagerPlugin :

use Novius\LaravelFilamentNews\Filament\NewsPlugin;

class AdminFilamentPanelProvider extends PanelProvider
{
    public function panel(Panel $panel): Panel
    {
        return $panel
            // ...
            ->plugins([
                NewsPlugin::make(),
            ])
            // ...
            ;
    }
}

Configuration

You can optionally publish the config file with:

php artisan vendor:publish --provider="Novius\LaravelFilamentNews\LaravelFilamentNewsServiceProvider" --tag="config"

This will allow you to:

  • define the name of the routes and their parameter
  • override resource or model classes
  • define locales used
// config/laravel-filament-news.php

return [
    /*
     * Resources used to manage your posts. 
     */
    'resources' => [
        'post' => \Novius\LaravelFilamentNews\Filament\Resources\Posts\PostResource::class,
        'category' => \Novius\LaravelFilamentNews\Filament\Resources\Categories\CategoryResource::class,
        'tag' => \Novius\LaravelFilamentNews\Filament\Resources\Tags\TagResource::class,
    ],

    /*
     * Models used to manage your posts.
     */
    'models' => [
        'post' => \Novius\LaravelFilamentNews\Models\NewsPost::class,
        'category' => \Novius\LaravelFilamentNews\Models\NewsCategory::class,
        'tag' => \Novius\LaravelFilamentNews\Models\NewsTag::class,
    ],

    // If you want to restrict the list of possible locals. By default, uses all the locals installed
    'locales' => [
        // 'en',
    ],

    /*
     * The route name used to display news posts and categories.
     */
    'front_routes_name' => [
        'posts' => null,
        'post' => null,
        'categories' => null,
        'category' => null,
        'tag' => null,
    ],

    /*
     * The route name used to display news posts and categories.
     */
    'front_routes_parameters' => [
        'post' => null,
        'category' => null,
        'tag' => null,
    ],
];

Front Stuff

If you want a pre-generated front controller and routes, you can run following command :

php artisan news-manager:publish-front {--without-categories} {--without-tags} 

This command appends routes to routes/web.php and creates a new App\Http\Controllers\NewsController.

You can then customize your routes and your controller.

In views called by the controller use the documentation of laravel-meta to implement meta tags

Assets

Next we need to publish the Laravel Nova Translatable package's assets. We do this by running the following command:

php artisan vendor:publish --provider="Novius\LaravelNovaTranslatable\LaravelNovaTranslatableServiceProvider" --tag="public"

Migrations and lang files

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

php artisan vendor:publish --provider="Novius\LaravelFilamentNews\LaravelFilamentNewsServiceProvider" --tag="migrations"
php artisan vendor:publish --provider="Novius\LaravelFilamentNews\LaravelFilamentNewsServiceProvider" --tag="lang"

Testing

Run the tests with:

composer test

Lint

Lint your code with Laravel Pint using:

composer lint

Licence

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

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope