skyraptor / chatter
Chatter - 一个 Laravel 论坛包。
Requires
- doctrine/dbal: ^2.6|^3.0
- graham-campbell/markdown: ^13.1
- illuminate/bus: ^6.0|^7.0|^8.0
- illuminate/cache: 6.0|^7.0|^8.0
- illuminate/http: ^6.0|^7.0|^8.0
- illuminate/mail: ^6.0|^7.0|^8.0
- illuminate/queue: ^6.0|^7.0|^8.0
- illuminate/routing: ^6.0|^7.0|^8.0
- illuminate/support: ^6.0|^7.0|^8.0
Requires (Dev)
- dev-master
- 0.7.0-alpha16
- 0.7.0-alpha15
- 0.7.0-alpha14
- 0.7.0-alpha13
- 0.7.0-alpha12
- 0.7.0-alpha11
- 0.7.0-alpha10
- 0.7.0-alpha9
- 0.7.0-alpha8
- 0.7.0-alpha7
- 0.7.0-alpha6
- 0.7.0-alpha5
- 0.7.0-alpha4
- 0.7.0-alpha3
- 0.7.0-alpha1
- 0.6.0-alpha4
- 0.6.0-alpha3
- 0.6.0-alpha2
- 0.6.0-alpha1
- 0.5.11
- 0.5.10
- 0.5.9
- 0.5.8
- 0.5.7
- 0.5.6
- 0.5.5
- 0.5.4
- 0.5.3
- 0.5.2
- 0.5.1
- 0.5.0
- 0.5.0-alpha1
- 0.4.2
- 0.4.1
- 0.4.0
- 0.3.1
- 0.3
- 0.2.23
- 0.2.22
- 0.2.21
- 0.2.20
- 0.2.19
- 0.2.18
- 0.2.17
- 0.2.16
- 0.2.15
- 0.2.14
- 0.2.13
- 0.2.12
- 0.2.11
- 0.2.10
- 0.2.9
- 0.2.8
- 0.2.7
- 0.2.6
- 0.2.5
- 0.2.4
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2
- 0.1.24
- 0.1.23
- 0.1.22
- 0.1.21
- 0.1.20
- 0.1.19
- 0.1.18
- 0.1.17
- 0.1.16
- 0.1.15
- 0.1.14
- 0.1.13
- 0.1.12
- 0.1.11
- 0.1.10
- 0.1.9
- 0.1.8
- 0.1.7
- 0.1.6
- 0.1.5
- 0.1.4
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1
- dev-develop
- dev-release/0.3
- dev-analysis-zOxVG4
This package is auto-updated.
Last update: 2024-08-29 05:07:08 UTC
README
Chatter - 一个 Laravel 论坛包
安装
快速提示:如果这是一个新项目,请确保安装 Laravel 提供的默认用户身份验证。 php artisan make:auth
-
将包包含到您的项目中
composer require skyraptor/chatter -
通过运行以下命令发布供应商资产文件
php artisan vendor:publish --provider="SkyRaptor\Chatter\Providers\ChatterServiceProvider" -
现在我们已经将一些新文件发布到我们的应用程序中,我们需要使用以下命令重新加载它们
composer dump-autoload -
运行您的迁移
php artisan migrate快速提示:请确保您已创建数据库并在您的
.env文件中添加了数据库凭据。 -
最后,运行种子文件以在数据库中添加少量数据
php artisan db:seed --class=SkyRaptor\Chatter\Seeders\ChatterTableSeeder -
在您的 master.blade.php 文件中包含一个头部和尾部产出。在 master 或 app.blade.php 的头部添加以下内容
@stack('css')然后,在您的 master 文件的
</body>标签上方添加以下内容@stack('js')
现在,访问您的 site.com/forums,您应该会看到您的新论坛!
升级
确保您的 composer.json 文件需要最新的 chatter 版本
"skyraptor/chatter": "0.2.*"
然后您会运行
composer update
接下来,您可能希望重新发布 chatter 资产、chatter 配置和 chatter 迁移,通过运行以下命令
php artisan vendor:publish --tag=chatter-resources --force
php artisan vendor:publish --tag=chatter-assets --force
接下来,为了确保您有最新的数据库模式,运行
php artisan migrate
这样您就可以更新到最新版本了 :)
自定义
自定义 CSS
如果您想添加额外的样式更改,可以在 master 文件头部的 @stack('css') 语句的末尾添加另一个样式表。为了只在用户访问您的论坛时加载此文件,您可以将您的样式表包含在包的模板文件中,或者将其包裹在以下 if 语句中
@if(Route::is( route('chatter.*'))
<!-- LINK TO YOUR CUSTOM STYLESHEET -->
<link rel="stylesheet" href="/assets/css/forums.css" />
@endif
此外,您还可以直接将包中的 SCSS 导入到您自己的构建中。
SEO 优化页面标题
由于论坛使用您的 master 布局文件,您需要包含必要的代码以显示页面友好的标题。以下代码需要添加到 master 文件的 <head> 中
@if( Request::is( config('chatter.url.home')) )
<title>Title for your forum homepage - Website Name</title>
@elseif( Request::is( config('chatter.url.home') . '/' . config('chatter.url.category') . '/*' ) && isset( $discussion ) )
<title>{{ $discussion->category->name }} - Website Name</title>
@elseif( Request::is( config('chatter.url.home') . '/*' ) && isset($discussion->title))
<title>{{ $discussion->title }} - Website Name</title>
@endif
覆盖视图
为了覆盖 Chatter 的内置视图,只需在您的 vendor 视图文件夹中创建一个 chatter 文件夹,例如 ROOT/resources/views/vendor/chatter。然后只需放入您想覆盖的 Chatter 视图文件。
Laravel 事件 用于论坛
此包提供了一些事件,允许您在用户操作发生时做出响应
监听事件
要注册这些事件的监听器,请遵循 Laravel 事件和监听器注册文档。例如,要注册对“新讨论之前”事件的监听器,请将以下内容添加到您的 EventServiceProvider
protected $listen = [ \SkyRaptor\Chatter\Events\ChatterBeforeNewDiscussion::class => [ \App\Listeners\HandleNewDiscussion::class, ], ];
其中 App\Listeners\HandleNewDiscussion 是您的应用程序中处理事件时调用的一个类。
您可以在监听器中使用以下方式访问触发事件的对象
public function handle(ChatterAfterNewDiscussion $event) { // $event->discussion // $event->post }
和
public function handle(ChatterAfterNewResponse $event) { // $event->post }