socieboy/forum

Laravel 论坛集成包

2.0.2 2016-04-19 18:20 UTC

This package is auto-updated.

Last update: 2024-09-07 15:23:06 UTC


README

不再维护此包。

Socieboy 论坛

为 Laravel 5.2 设计的包

Total Downloads Latest Stable Version Latest Unstable Version License

特性

  • 创建对话。
  • 回复现有对话。
  • 支持 Gravatar 和自定义头像。
  • 当某个用户留下回复时,向对话所有者发送电子邮件。
  • 当有人留下回复时,向对话所有者广播通知。
  • 包含 LESS 文件。

安装

1. 将包添加到 composer.json 文件中

"socieboy/forum" : "2.0.*"

2. 安装此包后,您需要在 config/app.php 文件中设置服务提供者

Socieboy\Forum\Providers\ForumServiceProvider::class,

3. 在您的配置文件夹中发布论坛配置文件,并将默认模板发布到 resources/assets/less/ 文件夹中,执行以下命令。

php artisan vendor:publish

4. 为论坛创建迁移,确保您已经为用户创建了一个迁移。(在执行此步骤之前,您可能想要为论坛数据库表添加前缀,请参阅配置文件)

php artisan forum:migrate

此命令将创建迁移文件,用于对话、回复和 like_replies。然后只需执行您的迁移即可

php artisan migrate

配置

通用

论坛提供了一个简单的自定义模板,该模板已发布在 resources/assets 目录中,您可以自由编辑。

在 config/forum.php 文件中,设置您应用程序的正确信息。

模板

这是您项目的母版模板视图

'template'  => 'app',

关键内容是您在主模板文件中想要显示论坛的 yield 标签的名称

'content'   => 'content',

使用这些值,论坛可以非常容易地适应您的项目并匹配您的应用程序设计。

主题

定义您论坛的主题数组。现在您可以定义主题的键、名称和代表图标,您可以使用您偏好的任何字体类。您还可以设置此主题的代表颜色(颜色是可选的)。

'topics' => [
    'general' => [
        'name' => 'General',
        'icon' => 'fa fa-tags',
        'color' => 'rgb(78, 137, 218)'
    ]
],

数据库

自定义论坛数据库表的前缀。

'database' => [
    'prefix' => 'forum'
],

用户设置

论坛包含用户配置。

模型键,设置用户模型的命名空间加类名。默认为 App\User,因为 Laravel 使用。

'model' => \App\User::class,

用户名键是您的用户表中用于显示发帖用户名称的字段。您可以设置任何字段,如 email、username、full_name、name 等,(必须是用户表上的字段)。

'username' => 'name',

您的项目中有用户的头像吗?(如果想要使用头像,请将键 avatar 设置为 true)。

'avatar' => true,

如果您想要使用 Gravatar 作为您的头像,请将键 gravatar 设置为 true。

'gravatar' => true,

如果您想要使用自己的头像,则定义您的用户表中存储图片 URL(头像)的字段。

'user-avatar' => 'avatar',

包含用户配置文件链接。

'profile' => true,

默认情况下,论坛包含一个简单的用户配置文件。如果您想实现自己的配置文件,只需在此键上设置路由名称,该路由应接收一个参数作为 slug。

'profile-route' => 'forum.user.profile'

指定用于作为 slug 的用户表列,默认情况下论坛使用用户 ID。

'profile-slug' => 'id',

现在如果用户未登录,开始对话的按钮将重定向用户到您的登录页面,只需在此键中设置您的登录页面 URL。

'auth' => [
    'login-url' => 'auth/login'
],

如果您想要,可以更改点赞和选择最佳回复的图标。

'icons' => [
    'tags'              => 'glyphicon glyphicon-tags',
    'like'              => 'glyphicon glyphicon-thumbs-up',
    'correct-answer'    => 'glyphicon glyphicon-ok',
    'edit'              => 'glyphicon glyphicon-pencil',
    'delete'            => 'glyphicon glyphicon-trash'
    'home'              => 'glyphicon glyphicon-home',
],

电子邮件

在电子邮件数组中,有4个不同的值。

默认情况下,fire键设置为false,当有人回复时不会触发电子邮件。如果你想实现当某些用户回复时向对话所有者发送电子邮件,请将其更改为true。

'fire' => false,

from键是您应用管理员或用于发送电子邮件的任何账户的电子邮件。

'from' => '',

from-name键是论坛管理员或将要发送电子邮件的个人的真实姓名。

'from-name' => '',

最后,只需设置触发电子邮件的主题。

'subject' => 'My app Forum - you have a new reply on your post',

事件

当某个用户在对话中回复、开始新的对话或标记回复为最佳答案时,将触发一个事件,并按照您的设置进行广播。

默认情况下,fire键设置为true。只要它是true,就会为新的回复、新的对话和选择最佳答案触发事件。

'fire' => true,

在论坛配置文件中设置broadcast键为true,并将您的Pusher键添加到Laravel的广播配置文件中。一旦设置为true,事件也将发送广播,您可以将其获取。https://pusher.com/

'broadcast' => false,

此外,在您的应用底部或您的脚本部分所在位置添加此代码。

@include('Forum::Broadcasting.index');

就是这样,简单易行,您已经准备就绪了!

翻译

  • 英语
  • 西班牙语
  • 丹麦语
  • 法语
  • 阿拉伯语

如果您想用您的母语为此包做出贡献,请复制src/Lang/en/文件夹,将所有键翻译成您的语言,并发送拉取请求。