parallax/filament-comments

为您的 Filament 资源添加评论。

1.3.1 2024-06-06 13:45 UTC

This package is auto-updated.

Last update: 2024-09-06 14:21:41 UTC


README

Latest Version on Packagist Software License Total Downloads Stars

为您的 Filament 资源添加评论。

安装

通过 composer 安装包

composer require parallax/filament-comments

发布并运行迁移

php artisan vendor:publish --tag="filament-comments-migrations"
php artisan migrate

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="filament-comments-config"

您可以使用以下命令发布语言文件

php artisan vendor:publish --tag="filament-comments-translations"

可选地,您可以使用以下命令发布视图

php artisan vendor:publish --tag="filament-comments-views"

快速入门

1. 添加模型特性

首先打开您想添加 Filament Comments 的 eloquent 模型。

namespace App\Models;

use Parallax\FilamentComments\Models\Traits\HasFilamentComments;

class Product extends Model
{
    use HasFilamentComments;
}

2. 添加 Filament 资源的评论

您有三种方式在 Filament 资源中使用此插件

1. 页面操作

打开您想显示评论操作的页面,这很可能是 ViewResource 页面。

CommentsAction 添加到 getHeaderActions() 方法。

<?php

namespace App\Filament\Resources\ProductResource\Pages;

use Parallax\FilamentComments\Actions\CommentsAction;

class ViewProduct extends ViewRecord
{
    protected function getHeaderActions(): array
    {
        return [
            CommentsAction::make(),
        ];
    }
}

您可以根据需要自定义页面操作。

2. 表格操作

打开您想显示评论表格操作的资源。

CommentsAction 添加到 $table->actions() 方法。

<?php

namespace App\Filament\Resources;

use Parallax\FilamentComments\Tables\Actions\CommentsAction;

class ProductResource extends Resource
{
    public static function table(Table $table): Table
    {
        return $table
            ->actions([
                CommentsAction::make(),
            ]);
    }
}

您可以根据需要自定义表格操作。

3. 信息列表条目

您也可以在信息列表中使用评论组件。

CommentsEntry 添加到 $infolist->schema() 方法。

<?php

namespace App\Filament\Resources;

use Parallax\FilamentComments\Infolists\Components\CommentsEntry;

class ProductResource extends Resource
{
    public static function infolist(Infolist $infolist): Infolist
    {
        return $infolist
            ->schema([
                CommentsEntry::make('filament_comments'),
            ]);
    }
}

请注意,这不能与同一页面的评论操作结合使用。

授权

默认情况下,所有用户都可以查看和创建评论,以及仅删除他们自己的评论。

如果您想更改此行为,可以为 Parallax\FilamentComments\Models\FilamentComment 模型创建自己的 eloquent 模型策略。

您应该在 filament-comments 配置文件中定义策略类。

return [
    'model_policy' => \Parallax\FilamentComments\Policies\FilamentCommentPolicy::class,
];

修剪已删除的评论

评论记录默认设置为在软删除后 30 天被清理。您可以在配置文件中更改此值

return [
    'prune_after_days' => 30,
];

配置模型后,您应该在应用程序的 Kernel 类中安排执行 model:prune Artisan 命令。不要忘记明确提及 FilamentComment 类。您可以自由选择此命令运行的适当间隔

namespace App\Console;

use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
use Parallax\FilamentComments\Models\FilamentComment;

class Kernel extends ConsoleKernel
{
    protected function schedule(Schedule $schedule)
    {
        $schedule->command('model:prune', [
            '--model' => [FilamentComment::class],
        ])->daily();
    
        // This will not work, as models in a package are not used by default
        // $schedule->command('model:prune')->daily();
    }
}

变更日志

有关最近更改的更多信息,请参阅 变更日志

致谢

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件