taskforcedev/laravel-forum

适用于 Laravel 5 网站的论坛模块。

安装: 673

依赖: 0

建议者: 0

安全: 0

星标: 6

关注者: 5

分支: 4

开放问题: 1

类型:项目

v1.0.2 2016-12-28 09:23 UTC

This package is not auto-updated.

Last update: 2024-09-25 15:29:28 UTC


README

适用于 Laravel 5 的嵌入式论坛模块。

代码风格: 构建状态 Scrutinizer 代码质量

集成测试

Laravel 5.3: 构建状态

要求

  • Laravel 5.2+
  • 当前论坛管理功能(锁定/置顶)需要 jQuery。

此包提供的内容

  • 完全功能论坛 (/forum)

  • 管理员界面 (/admin/forums)

  • 数据库表

    • forums
    • forum_posts
    • forum_categories
    • forum_post_replies

安装

步骤 1:将以下包添加到您的 composer.json 的 require 部分(如果尚未存在)。

Laravel 5.2

require {
  "taskforcedev/laravel-forum": "1.0.2"
}

Laravel 5.3+

require {
    "taskforcedev/laravel-forum": "dev-master"
}

开发中(5.0-5.2 的步骤可能适用,只要您不需要需要较新 laravel-support 包的包)。

步骤 2:运行 composer update

composer update

步骤 3:将以下服务提供者添加到 config/app.php(如果尚未存在)

'providers' => [
    Taskforcedev\LaravelSupport\ServiceProvider::class,
    Taskforcedev\LaravelForum\ServiceProvider::class,
]

步骤 4:迁移

运行迁移

php artisan migrate

步骤 5:发布配置。

如果您之前尚未从 LaravelSupport 包发布配置,请使用以下命令也这样做

php artisan vendor:publish --tag="taskforce-support"

步骤 6:编辑配置。

如果您之前尚未编辑 config/taskforce-support.php 文件,请在此处添加您站点的详细信息。

'layout' => 'layouts.master',
'sitename' => 'Your Site Name',

使用方法

完成上述安装步骤后,要设置论坛以供公开使用,您必须首先创建至少一个类别和一个论坛,您可以通过访问

/admin/forums

完成后,您可以将 /forum 的链接添加到您网站的导航中,按需操作。

管理/管理

为了提供管理员访问添加/编辑/管理论坛的权限,我们使用 Laravel 策略。

以下必须返回 true,用户才能访问管理部分

$user->can('create', Forum::class);

我们建议您有一个策略,证明用户在您的应用程序中具有管理权限

请参阅:https://laravel.net.cn/docs/5.3/authorization#creating-policies

然后您可以将以下内容添加到 app/Providers/AuthServiceProvider.php 文件中

use Taskforcedev\LaravelForum\Models\Forum;
use Taskforcedev\LaravelForum\Models\ForumCategory;

然后应用您的管理员策略到每个模型 [示例:]

protected $policies = [
    ...
    
    Forum::class => AdminPolicy::class,
    ForumCategory::class => AdminPolicy::class,
];

目前,任何已认证用户都可以在任何论坛中发布或回复。

事件

以下事件在包中触发,可以在主应用程序中监听。

  • Taskforcedev\LaravelForum\Events\PostCreated
  • Taskforcedev\LaravelForum\Events\PostReply

贡献/反馈

  • 我们欢迎任何拉取请求,请确保代码符合 PSR-2 标准。
  • 我们经常检查 GitHub 问题,因此请随时在那里提出任何评论或反馈。

版本控制

版本 1.* 遵循语义版本编号系统。

未来版本将使用 Laravel 的主版本号和次版本号,后面跟着发布号。