Filament Cms Website Plugin
A comprehensive CMS website plugin for Filament that provides content management capabilities with pages, posts, and media management.
Filament CMS Website Plugin
The Filament CMS Website Plugin is specifically built for website owners who use Filament CMS to manage their website content through the Filament Admin Panel.

Getting Started
Installation via Composer
To get started with the Filament CMS Website Plugin, follow these steps:
-
To install the package you should add the package to your composer.json file in the repositories key:
{ "repositories": [ { "type": "composer", "url": "https://filament-cms-website-plugin.composer.sh" } ], }
-
Once the repository has been added to the composer.json file, they can install Filament CMS Website Plugin like any other composer package using the
composer require
command:composer require solution-forest/filament-cms-website-plugin
-
You will be prompted to provide their username and password. The username will be your email address and the password will be equal to their license key. For example, let's say we have the following licensee and license activation:
- Contact email: philo@anystack.sh
- License key: 8c21df8f-6273-4932-b4ba-8bcc723ef500
This will require your licensee to enter the following information when prompted for their credentials:
Loading composer repositories with package information Authentication required (filament-cms-website-plugin.composer.sh): Username: philo@anystack.sh Password: 8c21df8f-6273-4932-b4ba-8bcc723ef500:anystack.sh
To clarify, the license key and fingerprint should be separated by a colon (:).
-
To publish the configuration files, migrations, and layout files for this plugin, as well as automatically create page data, enter the following command:
php artisan filament-cms:install
The default layout files are stored under:
views - cms -- theme --- default ---- app.blade.php ---- header.blade.php ---- footer.blade.php
-
By default, the index page of the website has a slug of home. If you wish to customize this slug, you can update the
models.cms_page
parameter in theconfig/filament-cms.php
file and modify your CmsPage model accordingly. Specifically, you will need to change the value of theHOME_SLUG
constant property to your desired slug. Once you have made these changes, run thephp artisan optimize:clear command
to clear the cache.return [ ... 'models' => [ 'cms_page' => \App\Models\CmsPage::class, ] ... ];
-
Register the plugin in your Panel provider:
Important: Register the plugin in your Panel provider after version 2.x
use SolutionForest\FilamentCms\FilamentCmsPanel; public function panel(Panel $panel): Panel { return $panel ->plugin(FilamentCmsPanel::make()); }
Updating the Filament CMS Website Plugin
To update the Filament CMS website plugin, you can use the command php artisan filament-cms:update
. This command will check for any updates to the package and install them if necessary.
If the update includes any new migration files, they will be automatically published to your application's database/migrations directory. You will then be prompted to confirm whether you want to run the migrations or not. If you confirm, the migrations will be run automatically, applying any necessary changes to your database schema.
It's important to note that before running any updates, you should always backup your code and database to ensure that you can easily revert to a previous state if any issues arise. Additionally, you should review the release notes for the updated package to understand any potential breaking changes or new features that may impact your application.
Page's tag
By default, the tagging of cms page is disable. If you wish to enable it, you can update the enable_page_tags
as true in the config/filament-cms.php
file.
return [
...
'enable_page_tags' => true,
...
];


Page's audit log
By default, the audit log of cms page is disable. If you wish to enable it, you can update the enable_audit_log
as true in the config/filament-cms.php
file.
return [
...
'enable_audit_log' => true,
...
];
Additionally, you need to add the following policies for AuditRelationManager
:
- audit
- rollbackAudit
Please refer to the official documentation of the Laravel Auditing package at owen-it/laravel-auditing for more detailed information and instructions.

Examples
Create basic draft page

Publish draft page

Un-publish published page

Schedule publish page

Documentation
Please see Documentation for more information.
Publishing views
php artisan vendor:publish --tag=filament-cms-views
Publishing translations
php artisan vendor:publish --tag=filament-cms-translations
Recommended Plugins
In addition to the core functionality of this project, we recommend the following plugins to extend its capabilities:
- Spatie Translatable - Filament support for Spatie's Laravel Translatable package.
- Media Library Manager - A media manager that is compatible with Spatie MediaLibrary.
- Curator - A free media manager designed for use with Filament Admin.
Roadmap
Here are some of the features and improvements we plan to implement in future releases of this project:
- Scheduled Publish Page
- Asset Manager
- Tag Manager
- Versioning
Please note that this roadmap is subject to change and may be updated as we receive feedback and new feature requests from our users. We appreciate any suggestions or ideas you may have for improving this project!
Changelog
Please see CHANGELOG for more information on what has changed recently.
Security Vulnerabilities
If you discover any security related issues, please email info+package@solutionforest.net instead of using the issue tracker.
License
Please see License File for more information.