Installation & Setup
Requirements
Section titled “Requirements”- PHP 8.4+
- Laravel 13+
- Filament 5+
- PostgreSQL (recommended) or MySQL
Installation
Section titled “Installation”1. Install the Core Package
Section titled “1. Install the Core Package”The core package provides the Filament admin dashboard and data layer:
composer require franc014/filament-cms-core2. Install the Livewire Frontend Package (for Livewire apps)
Section titled “2. Install the Livewire Frontend Package (for Livewire apps)”If your frontend uses Livewire:
composer require franc014/filament-cms-livewireComing soon:
franc014/filament-cms-inertiafor Inertia.js frontends.
3. Install the Visual Editing Package (Optional)
Section titled “3. Install the Visual Editing Package (Optional)”If you want inline visual editing on the frontend:
composer require franc014/ve-filament-cms-livewire4. Publish Configuration
Section titled “4. Publish Configuration”Publish the core config:
php artisan vendor:publish --tag=filament-cms-core-configIf using Livewire, also publish its config:
php artisan vendor:publish --tag=filament-cms-livewire-configThis creates:
config/filament-cms-core.php— content blocks registryconfig/filament-cms-livewire.php— frontend component path
5. Run Migrations
Section titled “5. Run Migrations”php artisan migrateThis creates the CMS tables:
pagessectionspage_section(pivot with ordering)posts,categories,category_postmenus,menu_itemscomponents
6. Register the Filament Plugin
Section titled “6. Register the Filament Plugin”In your Filament panel provider (e.g., app/Providers/Filament/AdminPanelProvider.php):
use JFA\FilamentCMSCore\FilamentCMSCorePlugin;
public function panel(Panel $panel): Panel{ return $panel // ... other config ->plugins([ FilamentCMSCorePlugin::make(), ]);}7. Configure the CMS
Section titled “7. Configure the CMS”Edit config/filament-cms-core.php:
return [ 'content_blocks' => [ 'default' => [ // Package defaults: Heading, Paragraph, CustomRichEditor, PostsChooser ], 'custom' => [ // Your custom blocks go here App\CMS\Blocks\Hero::class, App\CMS\Blocks\Cta::class, ], ],];Edit config/filament-cms-livewire.php:
return [ 'sections_class_path' => 'App\\Livewire\\',];The sections_class_path tells the CMS where to find your frontend Livewire section components.
8. Set Up Permissions (for Visual Editing)
Section titled “8. Set Up Permissions (for Visual Editing)”If using ve-filament-cms-livewire, run the installer:
php artisan ve-filament-cms-livewire:installThis command:
- Creates Shield roles:
super_admin,admin,frontend_editor,panel_user - Adds the
EditFrontendContentpermission - Patches your
Usermodel with required traits - Optionally creates an
editorFilament panel
9. Create an Editor Panel (Optional)
Section titled “9. Create an Editor Panel (Optional)”For content editors who should not access the full admin panel, create a dedicated panel:
namespace App\Providers\Filament;
use Filament\Panel;use Filament\PanelProvider;use Filament\Support\Colors\Color;use JFA\FilamentCMSCore\FilamentCMSCorePlugin;
class EditorPanelProvider extends PanelProvider{ public function panel(Panel $panel): Panel { return $panel ->id('editor') ->path('editor') ->brandName('Content Editor') ->colors(['primary' => Color::Blue]) ->plugins([ FilamentCMSCorePlugin::make(), ]); }}Register it in config/app.php:
'providers' => [ // ... App\Providers\Filament\EditorPanelProvider::class,],Verification
Section titled “Verification”After installation:
- Log in to
/admin— you should see CMS resources in the sidebar - Go to CMS → Pages — create a test page
- Go to CMS → Sections — create a test section
- Visit the page’s frontend URL — your section should render