guava/filament-drafts

一个filament插件,增加了管理模型草稿和修订的能力。

2.1.1 2023-09-30 12:00 UTC

This package is auto-updated.

Last update: 2024-08-30 01:50:09 UTC


README

filament_drafts

filament草稿

Latest Version on Packagist Packagist PHP Version Total Downloads

此插件增加了在filament资源中管理模型草稿和修订的功能。

这是Laravel Drafts的filament实现。

drafts-preview.mov

安装

您可以使用composer安装此包

  composer require guava/filament-drafts

使用方法

模型特质

首先确保您已正确设置模型以使用Laravel Drafts的草稿。

至少您需要将HasDrafts(请注意这是一个修改过的特质)特质添加到模型中

use Guava\FilamentDrafts\Concerns\HasDrafts;

class Post extends Model
{
    use HasDrafts;
}

并修改您的迁移

return new class extends Migration
{
    public function up(): void
    {
        Schema::create('posts', function (Blueprint $table) {
            //...
            $table->drafts();
        };
    }
}

注意:如果您使用Laravel Drafts中的HasDrafts特质,请确保您已在$fillable属性中定义了is_published。

之后,您只需要在资源及其页面中添加一些特质

资源特质

将Draftable特质添加到您的资源中

use Guava\FilamentDrafts\Admin\Resources\Concerns\Draftable;

class PostResource extends Resource
{
    use Draftable;
}

资源页面

将相应的Draftable特质添加到您的资源页面:请注意,每个页面都使用来自不同命名空间的不同特质

创建页面

use Guava\FilamentDrafts\Admin\Resources\Pages\Create\Draftable;

class CreatePost extends CreateRecord
{
    use Draftable;
}

编辑页面

use Guava\FilamentDrafts\Admin\Resources\Pages\Edit\Draftable;

class EditPost extends EditRecord
{
    use Draftable;
}

列表页面

use Guava\FilamentDrafts\Admin\Resources\Pages\List\Draftable;

class ListPosts extends ListRecords
{
    use Draftable;
}

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

贡献

请参阅贡献指南以获取详细信息。

安全漏洞

请审查我们的安全策略了解如何报告安全漏洞。

鸣谢

许可

MIT许可(MIT)。请参阅许可文件以获取更多信息。

其他包