optimistdigital / nova-drafts
该软件包已被废弃且不再维护。未建议替代软件包。
Laravel Nova 字段,允许您创建当前资源的草稿。
1.1.8
2022-11-18 12:19 UTC
Requires
- php: >=7.1.0
This package is auto-updated.
Last update: 2023-06-07 21:31:13 UTC
README
此 Laravel Nova 字段允许您创建资源的草稿。
特性
- 创建草稿
- 取消发布资源(禁用它们)
- Artisan 命令用于创建迁移
屏幕截图
安装
使用 Composer 在 Laravel Nova 项目中安装该软件包
composer require optimistdigital/nova-drafts
使用方法
准备模型和数据库
此字段需要一些数据库更改——具体来说,模型需要三个新列 可以使用以下 Artisan 命令创建迁移:
php artisan drafts:migration {table?}
如果没有提供表名,将提供所有可用表的选项。
如果您的表具有预存在的唯一约束:建议将 'published' 字段添加到唯一约束中。更多详细信息请参阅迁移文件。
定义字段
use OptimistDigital\NovaDrafts\DraftButton; use OptimistDigital\NovaDrafts\PublishedField; use OptimistDigital\NovaDrafts\UnpublishButton; public function fields(Request $request) { return [ UnpublishButton::make('Unpublish'), DraftButton::make('Draft'), PublishedField::make('State', 'published'), ] }
索引过滤(IndexQuery)
在您的 模型 中添加以下代码片段
public function childDraft() { return $this->hasOne(YourModelName::class, 'draft_parent_id', 'id'); }
在您的 索引查询 中使用该函数,以过滤出具有草稿的已发布页面
public static function indexQuery(NovaRequest $request, $query) { return $query->doesntHave('childDraft'); }
选项
您可以传递给字段的可能选项,使用选项名作为函数
选项 | 类型 | 默认值 | 描述 |
---|---|---|---|
draftsEnabled |
布尔值 | true | 草稿是否启用 |
本地化和文本自定义
可以使用以下发布命令发布翻译文件
php artisan vendor:publish --provider="OptimistDigital\NovaDrafts\FieldServiceProvider" --tag="translations"
您可以将翻译添加到 resources/lang/vendor/nova-drafts/
,通过创建一个新的带有区域名称(例如 et.json
)的翻译文件,并将 JSON 从现有的 en.json
中复制过来。
鸣谢
许可证
Nova Drafts 是开源软件,根据 MIT 许可证 发布