novius / laravel-nova-page-manager
用于管理页面的Laravel Nova包。
6.1.0
2024-08-06 14:16 UTC
Requires
- php: >=8.2
- illuminate/support: ^10.0|^11.0
- laravel/nova: ^4.0
- novius/laravel-linkable: ^1.0
- novius/laravel-meta: ^1.0
- novius/laravel-nova-field-preview: ^2.0
- novius/laravel-nova-publishable: ^3.0
- novius/laravel-nova-translatable: ^1.0
- spatie/laravel-sluggable: ^3.4
Requires (Dev)
- laravel/pint: ^1.7
README
此包允许您使用自定义模板管理页面。
要求
- PHP >= 8.2
- Laravel >= 10.0
- Laravel Nova >= 4.0
注意:以下说明适用于Laravel >= 10.0和PHP >= 8.2。如果您使用的是旧版本,请参阅旧版本文档。
安装
composer require novius/laravel-nova-page-manager
注意:以下说明适用于Laravel Nova >= 4.0。如果您使用的是旧版本,请参阅旧版本文档。
验证器翻译
请将此行添加到resource/lang/{locale}/validation.php
(第一级)
// EN version : resource/lang/en/validation.php 'unique_page' => 'The field :attribute must be unique in this language.', // FR version : resource/lang/fr/validation.php 'unique_page' => 'Le champ :attribute doit être unique dans cette langue.',
前端内容
如果您想生成预定义的前端控制器和路由,可以运行以下命令
php artisan page-manager:publish-front
此命令将路由添加到routes/web.php
并创建一个新的App\Http\Controllers\FrontPageController
。
在页面模板中,使用laravel-meta的文档来实现元标签
配置
您可以选择覆盖的一些选项可用。
php artisan vendor:publish --provider="Novius\LaravelNovaPageManager\LaravelNovaPageManagerServiceProvider" --tag="config"
区域设置
您可以从配置文件中添加或删除任何区域设置。
例如,如果您想使用2种语言(FR和EN)
// ... 'locales' => [ 'en' => 'English', 'fr' => 'French', ], // ...
模板
要添加模板,只需将您的自定义类添加到配置文件的templates
数组中。
您的类必须扩展Novius\LaravelNovaPageManager\Templates\AbstractPageTemplate
。
示例
在config/laravel-nova-page-manager.php
// ... 'templates' => [ \App\Nova\Templates\StandardTemplate::class, ],
在app/Nova/Templates/StandardTemplate.php
<?php namespace App\Nova\Templates; use Laravel\Nova\Fields\Trix; use Novius\LaravelNovaPageManager\Templates\AbstractPageTemplate; class StandardTemplate extends AbstractPageTemplate { public function templateName(): string { return trans('laravel-nova-page-manager::template.standard_template'); } public function templateUniqueKey(): string { return 'standard'; } public function fields(): array { return [ Trix::make(trans('laravel-nova-page-manager::template.field_content'), 'content'), ]; } }
代码风格检查
使用以下方式运行php-cs
composer run-script lint
贡献
欢迎贡献!
在GitHub上提交问题,或创建一个Pull Request。
许可证
此包受GNU Affero通用公共许可证v3或(根据您的要求)任何后续版本的约束。