taskforcedev / laravel-forum
适用于 Laravel 5 网站的论坛模块。
Requires
- laravel/framework: 5.*
- taskforcedev/gravatar: 1.0.*
- taskforcedev/laravel-support: 1.0.9
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-25 15:29:28 UTC
README
适用于 Laravel 5 的嵌入式论坛模块。
集成测试
要求
- 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 的主版本号和次版本号,后面跟着发布号。