eugenevdm/nova-comments

用于对模型进行评论的Laravel Nova资源。

1.0.1 2019-04-24 15:09 UTC

README

Latest Version on Packagist Total Downloads Codacy Badge

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

评论工具

screenshot of the commenter resource tool

简单评论面板

screenshot of the comments panel

需求

此Nova资源工具需要Nova 2.0或更高版本。

安装

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

composer require kirschbaum-development/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类在您的资源中使用。

变更日志

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

贡献

请参阅CONTRIBUTING以获取详细信息。

安全

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

致谢

赞助

本软件包的开发由Kirschbaum开发集团赞助,该公司是一家以解决问题、团队建设和社区为目标的开发者驱动公司。了解更多 关于我们加入我们

许可证

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