klisl / laravel-comments
用于Laravel-5的评论组件
1.8
2018-04-03 13:00 UTC
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-09-19 04:05:27 UTC
README
用于在Laravel-5中创建评论块。
本包的特点和优势
- 评论以树状结构显示。子评论相对于父评论向右偏移(用于回复其他评论)。
- 使用AJAX处理添加新评论的表单(无需页面刷新)。
- 点击“回复”按钮时,表单将立即插入到相应(父)评论之后。
- 提交表单时,立即生成并显示新添加的评论(可以在设置中禁用)。
- 未注册用户可以添加评论。在此情况下,注册用户可以不填写作者姓名和电子邮件地址。
- 在发送评论的弹出窗口中记录发送状态和可能的错误。
安装
使用Composer安装包。
composer require klisl/laravel-comments
如果Laravel版本低于5.5,请将以下内容添加到项目中的config/app.php
文件末尾的providers
数组中
Klisl\Comments\CommentsServiceProvider::class,
对于>=5.5的版本,请跳过此步骤。
完成后,在控制台执行发布所需资源的命令
php artisan vendor:publish --provider="Klisl\Comments\CommentsServiceProvider"
可以在config/comments.php
文件中修改包的设置。
执行迁移以创建所需的表(控制台)
php artisan migrate
如有需要,可以在控制台中填充测试数据到评论表
composer dump-autoload
php artisan db:seed --class=TestCommentsSeeder
使用方法
在输出模板中,将评论树和表单一起输出到与评论关联的单个帖子(文章/分类等)模板中。为此,需要在模板中插入以下部分
@section('comments')
@include('comments.comments_block', ['essence' => $post])
@endsection
其中 $post 包含单独帖子模型的对象。
与其他部分一样,'comments'部分必须在继承该模板的布局中连接
@yield('content')
在布局中还需要连接示例中指定的样式和脚本
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" media="all" href="{{asset('css')}}/app.css" />
<link rel="stylesheet" type="text/css" media="all" href="{{asset('comments/css')}}/comments.css" />
<script type="text/javascript" src="{{asset('js')}}/app.js" /></script>
<script type="text/javascript" src="{{asset('comments/js')}}/comment-reply.js" /></script>
<script type="text/javascript" src="{{asset('comments/js')}}/comment-scripts.js" /></script>
</head>
<body>
…
@yield('comments')
…
</body>
</html>
代码中包含了详细的注释。
处理评论数据添加的控制器在文件app\Http\Controllers\CommentController.php
中可用进行编辑。
使用AJAX向服务器发送请求并负责输出通知弹出窗口的文件是public/comments/js/comment-scripts.js
。
评论块的样式配置在文件public/comments/css/comments.css
中。
我的博客: klisl.com