Comments package for applications. Using this package, you can create and associate comments with Eloquent models.
- Add comments to any model
- Multiple comment systems on the same page
- Multiple auth guards
- Image and File upload support
- Drag and drop, copy and paste upload files support
- reCaptcha v3 support
- Emoji support
- Markdown support
- NSFW image upload check support
- Allow guest to comment
- Admin panel
- Mention user with @
- Emoji Suggestion Popup
- Delete Report comment
- Ratting system
- Toolbar for comment
- Comment history
- Show Nested comments
- Unit test
composer require vigstudio/vgcomments
Publish the assets files with:
php artisan vendor:publish --tag=vgcomment-assets
You can publish the config with:
php artisan vendor:publish --tag=vgcomment-config
Edit prefix route in config/vgcomment.php
file.
/*
|--------------------------------------------------------------------------
| Route Prefix
|--------------------------------------------------------------------------
|
| This is the URI path where VgComment will be accessible from. Feel free to
| change this path to anything you like.
|
*/
'prefix' => 'vgcomment',
Edit connection name in config/vgcomment.php
file.
/*
|--------------------------------------------------------------------------
| Database Connection
|--------------------------------------------------------------------------
|
| Here you may specify which of the database connections below you wish
| to use as your default connection for all of your database work.
|
*/
'connection' => env('DB_CONNECTION', 'mysql'),
Edit table names in config/vgcomment.php
file.
/*
|--------------------------------------------------------------------------
| Name of Tables in Database
|--------------------------------------------------------------------------
|
| This is the name of the table that will be created by the migration and
| used by the Comment model shipped with this package.
|
| "comments" : Comments Table
| "files" : Files Attachment Table
| "reactions" : Reactions Table
| "reports" : Reports Table
| "settings" : Settings Table
|
*/
'table' => [
'comments' => 'vgcomments',
'files' => 'vgcomment_files',
'reactions' => 'vgcomment_reactions',
'reports' => 'vgcomment_reports',
'settings' => 'vgcomment_settings',
],
Config Column or Attribute User Model in config/vgcomment.php
file.
/*
|--------------------------------------------------------------------------
| Column of User Table for get Data
|--------------------------------------------------------------------------
|
| This is the setting for column of user table for get data.
| "user_column_name" : Column name for get name user
| "user_column_email" : Column name for get email user
| "user_column_url" : Column name for get url user
|
*/
'user_column_name' => 'name',
'user_column_email' => 'email',
'user_column_url' => 'url',
'user_column_avatar_url' => 'avatar_url',
Set moderation user in config/vgcomment.php
file.
/*
|--------------------------------------------------------------------------
| Users Manager Comments
|--------------------------------------------------------------------------
|
| This is the setting for users manager comments.
| 'guard' => [user_id]
|
| Example:
| 'web' => [1, 2, 3]
| 'api' => [1, 2, 3]
|
*/
'moderation_users' => [
'web' => [1],
],
Run the migrate command to create the necessary tables:
Before running the migrate command, you can edit the config/vgcomment.php
file to change the table names.
php artisan migrate
Additionally you may want to clear the config, cache, etc:
php artisan optimize:clear
Comments package for applications using Livewire. Using this package, you can create and associate comments with Eloquent models.
Comments package for applications using Blade. Using this package, you can create and associate comments with Eloquent models.
Comments package for applications using Vuejs. Using this package, you can create and associate comments with Eloquent models.
Comments package for applications using Alpinejs. Using this package, you can create and associate comments with Eloquent models.