Rebel59.Comments is a robust platform for commenting on pages, both static and dynamic. The comments can be easily attached to any model and are dynamically extended for access in external models!
Why should I use this plugin instead of any other comments plugin?
- Clutter free and lightweight javascript
- Reply Notifications
- Use comments with any model in your application
- Our support team will answer all your questions within 24 hours :)
Features
- Post Comments on any page
- Post comments reload-free
- Uses October's AJAX framework to refresh update comment partials.
- Attach Comments to any model
- Comment both as guest and user
- Disable comments (+ soft disable for guest users)
- Reply Notifications (+ unsubscribe)
- Edit your comments as registered user
- Delete comments as registered user
- Backend Admin interface for deleting and editing comments
Planned features
- Cycling through comments with AJAX
- Avatars (Randomized for guest users, Gravatar for logged in)
- Front-end admin functionality
- Rating System
The following plugin is required
Usage
There are two ways to use the comments component. It can be attached to an external model, and it can be linked to a page through the baseFileName
.
When attaching comments to another model, the plugin extends the given model in its boot
method.
All models that are defined in the settings menu will be automatically extended.
Comments as a relation / URLs with slugs
Settings fields
plugin: label: Plugin Name placeholder: Rebel59.Comments model: label: Model Name placeholder: Rebel59\Comments\Models\Comment;
When attaching comments to URLs with slugs, this functionality is encouraged. This also makes sure that the comments stay attached to a model should the base URL change.
Before models can be linked they need to be defined in the settings menu. When this is done, they can be selected from the externalRelation
property.
Attaching comments to models gives the advantage that the comments can also be accessed through modelname.comments
to load the
comments through a relation instead of the comment model itself.
Example: accessing comments from a model (Foo)
{% for comment foo.comments %} {{ comment }} {% endfor %}
Comments as a component
Drag and drop the comments
component onto a page, just like you would with any OctoberCMS plugin. Fill in the required properties
and you are good to go.
Components
Comments
The comments
component generates the comment list pased on its properties. Comments are loaded based on either the model reference, or page URL (in that order).
Properties
loadCss (Boolean | default: true)
Loads predefined CSS that comes bundled with the plugin.
loadJs (Boolean | default: true)
Loads predefined CSS that comes bundled with the plugin.
disableComments (Booleam | default: false)
Disables all comments for the page.
disableGuestComments (Boolean | default: true)
Disable comments for all guest users.
registerPage (CMS Page)
The register new user page.
listElement (HTML Selector)
The HTML element that contains the comment list.
location (Dropdown | default: append)
Determines whether new comments are placed at the top of the comment list, or at the bottom.
commentsPerPage (Number | default: 20)
The amount of comments that are displayed on the first page.
pageNumber (Parameter | default: page)
The parameter for the page number.
unsubscribePage (CMS Page)
The page that is used for unsubscribing from the email notifications.
externalRelation (Dropdown)
A list of external models registered in the application. This list can be edited in the settings menu of the CMS. This data is used to attach the comments to the given model.
externalRelationParam (Parameter)
The URL parameter that is used as the key to attach the comment to the model.
Unsubscribe
The unsubscribe
component enables users to unsubscribe from email notifications. It references the token, decrypts it and matches it with a comment ID.
Properties
token (Parameter | encrypted)
The URL parameter that contains the ID of the comment. The ID is encrypted using the application's key and the opt-out link is sent along with every notification.
Adding Translations
If you want to see the plugin translated in your own language, please feel free to attach the language file in the support forum. We'll make sure it will get added ASAP.
Bugs, Feature Requests and Pull Requests
Feature Requests and Bug reports can be handled through the support forums. Please label Feature Requests with [Feature Request]
in the title.
If you want access to the Private Github Repo let us know by sending an email explaining why to info@rebel59.nl
.
-
Brijesh
Found the plugin useful on 14 Nov, 2019
Can't get a Post name in Comment in the admin section so how to understand in wich post we will get commnet?
-
Richard Clark
Found the plugin useful on 12 Jan, 2019
Hey Great Plugin. Question when forking the component it loses the var comments how can i get it to stay during the fork thx
-
UpTop author
Replied on 13 Jan, 2019
Thank you for your review! If you could ask your question in the support forum this would be much appreciated, as we can discuss your issue more easily.
-
Nikl Arhangel
Found the plugin useful on 12 Aug, 2017
I had a choice before two plug-ins and I selected this because it has a notification system if someone responded to the comment. I hadn't issues with installation of this plugin and i received the support when it was need for me in a few minutes. I am happy and satisfy.
-
1.0.3 |
Fixed invalid component code that throws validation error. May 08, 2017 |
---|---|
1.0.2 |
Fixed Email Reply Template May 02, 2017 |
1.0.1 |
First version of comments May 01, 2017 |