webard/nova-comments

Laravel Nova 模型评论资源

v5.0.2 2024-09-25 19:49 UTC

This package is auto-updated.

Last update: 2024-09-25 19:50:45 UTC


README

注意:此项目已从kirschbaum-development/nova-comments分支出来

Latest Version on Packagist Total Downloads Codacy Badge

此包包含一个内联评论表单,可轻松为任何资源添加评论。想象一下 Nova 的简单版本 Disqus!

评论工具

screenshot of the commenter resource tool

简单的评论面板

screenshot of the comments panel

要求

此 Nova 资源工具需要 Nova 4.0 或更高版本。
对于 Nova 的旧版本,请使用标记版本 1.0.2

安装

您可以通过 composer 在使用 Nova 的 Laravel 应用中安装此包

composer require webard/nova-comments

接下来,我们需要运行迁移。此包的服务提供者的自动发现有助于此!

php artisan migrate

最后,任何需要评论的模型都需要添加 Commentable 特性。

use KirschbaumDevelopment\NovaComments\Commentable;

class Post extends Model
{
    use Commentable;

    // ...
}

如果您想发布此包的配置,请运行

php artisan vendor:publish

并选择此包的提供者:KirschbaumDevelopment\NovaComments\NovaCommentsServiceProvider

此包要求它有一个评论者,即一个 User。Nova Comments 默认自动使用 App\Nova\User 资源,但可以在可发布的配置文件中轻松更改。

用法

此包包含两个组件,分别是 CommenterCommentsPanel

评论者

第一个,也是最有用的组件是 Commenter。它是一个资源工具,允许您直接在 Nova 资源上插入评论面板。此面板允许您直接将评论添加到资源,而无需从相应的创建视图中创建。新创建的评论会在评论表单下方实时更新显示。

只需在您的 Nova 资源中添加 KirschbaumDevelopment\NovaComments\Commenter 资源工具即可

namespace App\Nova;

use KirschbaumDevelopment\NovaComments\Commenter;

class Post extends Resource
{
    // ...

    public function fields(Request $request)
    {
        return [
            // ...

            new Commenter(),

            // ...
        ];
    }
}

现在您可以从您附加了 Commenter 的任何资源的详情视图中进行评论!祝您评论愉快!

评论面板

为了方便起见,已经为您创建了一个预构建的评论面板。您只需将其添加到资源中即可享受预构建的优点。

namespace App\Nova;

use KirschbaumDevelopment\NovaComments\Commenter;

class Post extends Resource
{
    // ...

    public function fields(Request $request)
    {
        return [
            // ...

            new CommentsPanel(),

            // ...
        ];
    }
}

当然,您可以完全自由地创建自己的评论面板,但为了快速启动,我们建议使用此面板。

侧边栏导航

偶尔您可能想从侧边栏中隐藏评论。您可以通过将相应的配置值设置为 false 来轻松完成此操作。请确保首先发布配置。

'available-for-navigation' => false

分页注意事项

由于 Nova 分页结果的方式存在限制,目前无法通过配置值设置每次显示的评论数 perPage。Nova 的默认值是每页 5 条。如果您想将其设置为不同的值,例如 25,我们建议您扩展 Commenter 并使用以下代码设置此值

use KirschbaumDevelopment\NovaComments\Commenter as NovaCommenter;

class Commenter extends NovaCommenter
{
    /**
     * The number of resources to show per page via relationships.
     *
     * @var int
     */
    public static $perPageViaRelationship = 25;
}

然后使用此类替换您资源中的默认 Commenter 类。

变更日志

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

贡献

有关详细信息,请参阅贡献

安全

如果您发现任何与安全相关的问题,请发送电子邮件至 brandon@kirschbaumdevelopment.comnathan@kirschbaumdevelopment.com,而不是使用问题跟踪器。

致谢

赞助

此包的开发由专注于问题解决、团队建设和社区的开发商驱动的Kirschbaum Development Group赞助。了解更多 关于我们加入我们

许可协议

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