Download the PHP package lyrasoft/feedback without Composer
On this page you can find all versions of the php package lyrasoft/feedback. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package feedback
Lyrasoft Feedback Package
Lyrasoft Feedback package, contains comments and rating functions.
- Lyrasoft Feedback Package
- Installation
- Language Files
- Seeders
- Register Admin Menu
- Comments
- Comment Reply
- Comment With Ratings
- Other Methods
- Rating
- Other Methods
- Rating AJAX Button
- AJAX Type Protect
- AJAX Events
- Add Button to Vue App
- Use
RatingRepository - Join to List
Installation
Install from composer
Then copy files to project
Language Files
Add this line to admin & front middleware if you don't want to override languages:
Or run this command to copy languages files:
Seeders
There are 2 example seeders auto installed, add comment.seeder.php and rating.seeder.php to
resources/seeders/main.php
If you don't need example seeders, write your own seeder by adding comments through service:
Register Admin Menu
Edit resources/menu/admin/sidemenu.menu.php
You must add type to route, every comment should contains type.
Comments
Add a comment to a type:
Add a comment and configure Comment entity:
Comments ordering:
Comment Reply
There are 2 ways to add reply, one is just write reply content to comment, every comment contains only 1 reply:
The other way is to create sub comments:
Comment With Ratings
If you want to add comment with ratings, you can simply add rating number to comment entity, and then update the origin rated item with new average rating:
![note] If you need a like system without comments, you can use
Ratingentity withoutCommententity, and simply usecount()to count total likes. See Rating
Other Methods
Rating
You can use Rating for the following purposes:
- Like system: Users can like content to show their supports. In this case, the Rating's
rankfield can always be set to1as one LIKE. Afterwards, simply usecount()to count the total likes. - Star rating system: Users can rate content with stars, e.g., from 1 to 5. In this case, the Rating's
rankfield can be set to the numeric star chosen by the user, and you can usecalcAvgRank()to calculate the average.
[!note] If you want users to leave comments while rating, it's recommended to use the
commentstable with aratingcolumn, so you don't need a separateratingstable. See Comment With Ratings
Add a rating to a type:
Add rating if not rated, and configure Rating entity:
Rating ordering:
Other Methods
Rating AJAX Button
Add useRatingButtons() to front main.ts file:
Then uou can add button components everywhere in blade template:
Available params:
| Name | Type | Description |
|---|---|---|
type |
string or enum | The rating type |
id |
string or int | The item ID |
rated |
bool or int | Is this item rated by current user, will auto load from DB if without this params. |
class-active |
string | The button class if active. |
class-inactive |
string | The button class if inactive. |
icon-active |
string | The icon class if active. |
icon-inactive |
string | The button class if inactive. |
title-active |
string | The tooltip title if active. |
title-inactive |
string | The tooltip title if inactive. |
tag |
string | The button HTML tag. |
AJAX Type Protect
By default, favorite package will not allow any types sent from browser.
You can configure allowed types in config file:
You can also set the ajax_type_protect to FALSE but we don't recommend to do this.
AJAX Events
You can listen events after rated actions:
Or listen globally:
Add Button to Vue App
Use uni-rating-button directive to auto enable button in Vue app.
Use RatingRepository
Join to List
In blade: