risul / laravel-like-comment
Ajax based site wide like and comment system for laravel
Installs: 5 667
Dependents: 0
Suggesters: 0
Security: 0
Stars: 107
Watchers: 15
Forks: 36
Open Issues: 9
README
Laravel like comment
laravel-like-comment is an ajax based like and commenting system for laravel. Which can be used with anything like page, image, post, video etc. User needs to be loged in to be able to like or comment.
Features
- Like
- Dislike
- Comment
- Comment voting
- User avatar in comment
Demo
Installation
Run
composer require risul/laravel-like-comment
Configuration
Add
risul\LaravelLikeComment\LikeCommentServiceProvider::class
in your service providerr
list.
To copy views and migrations run
php artisan vendor:publish
Run
php artisan migrate
It will create like and comment table.
Add this style links to your view head
<link href="//cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.2.2/components/icon.min.css" rel="stylesheet"> <link href="//cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.2.2/components/comment.min.css" rel="stylesheet"> <link href="//cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.2.2/components/form.min.css" rel="stylesheet"> <link href="//cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.2.2/components/button.min.css" rel="stylesheet"> <link href="{{ asset('/vendor/laravelLikeComment/css/style.css') }}" rel="stylesheet">
Add jquery and script
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> <script src="{{ asset('/vendor/laravelLikeComment/js/script.js') }}" type="text/javascript"></script>
In config/laravelLikeComment.php
add user model path
'userModel' => 'App\User'
Add following code in your user model
/** * Return the user attributes. * @return array */ public static function getAuthor($id) { $user = self::find($id); return [ 'id' => $user->id, 'name' => $user->name, 'email' => $user->email, 'url' => '', // Optional 'avatar' => 'gravatar', // Default avatar 'admin' => $user->role === 'admin', // bool ]; }
Usage
Add this line at where you want to integrate Like
@include('laravelLikeComment::like', ['like_item_id' => 'image_31'])
like_item_id:
This is the id of the item,page or model for which the like will be used
Add this line where you want to integrate Comment
@include('laravelLikeComment::comment', ['comment_item_id' => 'video_12'])
comment_item_id:
This is the id of the item, page, or model for which the comment will be used