lakm/laravel-comments-admin-panel

将无缝评论功能集成到您的Laravel项目中。

2.0.0-beta 2024-06-23 07:42 UTC

This package is auto-updated.

Last update: 2024-09-24 05:01:20 UTC


README

评论者管理面板

评论者提供的管理面板

描述 | 要求 | 安装 | 使用 | 配置 | 授权 | 模型发现 | 路由 | 自定义 | 变更日志 | 安全 | 许可

GitHub Actions Workflow Status Packagist Version GitHub License

描述

提供理想的管理面板来管理评论者包

要求

  • PHP : ^8.1 | ^8.2 | ^8.3
  • laravel/framework : ^ 10.0 | ^11.0
  • lakm/laravel-comments : *
  • filament/notifications : ^3.2
  • filament/tables : ^3.2

安装

    composer require lakm/laravel-comments-admin-panel -W
    php artisan commenter-admin-panel:install

可选

您可以使用以下命令发布视图。

    php artisan vendor:publish --tag=comments-admin-panel-resources

使用

您只需导航到包的默认路由端点 /admin/comments/dashboard

配置

配置文件作为 comments-admin-panel.php 发布在配置目录中。

如果它缺失,您可以使用以下命令重新发布它。

php artisan vendor:publish --tag=comments-admin-panel-config

这将发布以下配置文件

//config/comments-admin-panel.php
<?php

use LakM\Comments\AdminPanel\Middleware\AdminPanelAccessMiddleware;

return [
        'enabled' => true,
        'routes' => [
            'middlewares' => [
                'web',
                AdminPanelAccessMiddleware::class, // Removing this, allow users to access admin panel if enabled is set to true !
            ],
            'prefix' => 'admin',
        ],
        /**
         * Commentable models(must implement CommentableContract) that the admin panel must track
         * Keep empty to use models auto-discovery
         */
        'commentable_models' => [],
];

授权

默认情况下,如果不在生产环境中,则启用路由。您可以通过在配置文件中将启用变量设置为false来更改此行为。

'enabled' => false

生产

在生产部署(生产模式)之前,必须在认证模型中实现 canAccessAdminPanel 方法;否则,您将收到404状态。此行为由 AdminPanelAccessMiddleware::class 中间件处理。

//config/comments-admin-panel.php
  public function canAccessAdminPanel(): bool
  {
     return true;
  }

注意

不要忘记在配置文件中将 'enabled' => true 设置为true。

模型发现

默认情况下,包会扫描 App/Models 命名空间中所有的可评论模型。您可以通过明确定义要由管理面板跟踪的模型来更改此行为。

//config/comments-admin-panel.php
return [
    'commentable_models' => [Post::class], // Admin panel only track for post class
]

路由

您可以通过访问默认路由端点 /admin/comments/dashboard 来访问管理面板

前缀

默认情况下,为包的路由添加了 admin 前缀。您可以按照以下示例进行更改。

'routes' => ['prefix' => 'admin'],

中间件

默认情况下,应用 webAdminPanelAccessMiddleware::class 中间件。您可以根据以下示例进行更改。

 'routes' => [
            'middlewares' => [
                'web',
                AdminPanelAccessMiddleware::class, // Removing this, allow users to access admin panel if enabled is set to true !
            ],
        ],

自定义

您可以通过以下命令发布它们来自定义所有视图:

    php artisan vendor:publish --tag=comments-admin-panel-resources

这将视图发布到 \resources\views\comments-admin-panel 目录。

资产

包的安装命令 comments-admin-panel:install,将资产发布到 \public\vendor\lakm\comments-admin-panel 目录。

以下是手动发布它们的命令。

    php artisan vendor:publish --tag=comments-admin-panel-assets

构建资产

您可以使用任何资产构建工具来构建资产。默认情况下,包使用了laravel vite插件。请确保使用正确的构建目录 public\vendor\lakm\comments-admin-panel\build

重要

在构建资产时,应该只有一个输入文件,那就是 app.js。您可以使用以下方法使用 Vite 来实现。

// vite.config.js

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';

export default defineConfig({
   plugins: [
       laravel({
           hotFile: 'public/vendor/lakm/comments-admin-panel/comments-admin-panel.hot',
           buildDirectory: 'vendor/lakm/comments-admin-panel/build', // This is important
           input: ['resources/js/app.js'], // This is important
           refresh: true,
       }),
   ],
});

变更日志

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

安全

有关我们的安全策略,请参阅 此处

许可证

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