Un modulo CMS modulare, estensibile e riutilizzabile per Laravel, con supporto per Filament, Volt e Folio.
- Gestione pagine e contenuti
- Blocchi di contenuto personalizzabili
- Menu e navigazione
- Gestione media
- Layout e temi
- API RESTful e GraphQL
- Pannello amministrativo con Filament
- Componenti reattivi con Volt
- Routing basato su file con Folio
- PHP 8.2+
- Laravel 11.x
- Filament 4.x
- Laravel Volt
- Laravel Folio
- Composer
composer require modules/cmsPubblicare le risorse:
php artisan vendor:publish --provider="Modules\Cms\Providers\CmsServiceProvider"Eseguire le migrazioni:
php artisan module:migrate cmsIl modulo può essere configurato tramite il file config/cms.php:
return [
'prefix' => 'cms',
'middleware' => ['web', 'auth'],
'cache' => [
'enabled' => true,
'ttl' => 3600
],
'media' => [
'disk' => 'public',
'path' => 'media'
]
];use Modules\Cms\Actions\CreatePageAction;
$page = app(CreatePageAction::class)->execute([
'title' => 'La mia pagina',
'slug' => 'la-mia-pagina',
'content' => 'Contenuto della pagina'
]);use Modules\Cms\Actions\AddBlockAction;
$block = app(AddBlockAction::class)->execute($page, [
'type' => 'text',
'content' => 'Contenuto del blocco'
]);use Livewire\Volt\Component;
class PageEditor extends Component
{
public Page $page;
public function save(): void
{
$this->page->save();
}
}use Illuminate\View\View;
class Show
{
public function __invoke(Page $page): View
{
return view('cms::pages.show', [
'page' => $page
]);
}
}composer testLe pull request sono benvenute. Per modifiche importanti, aprire prima una issue per discutere la modifica proposta.
MIT