Overview & Getting Started
Engagement gives Craft CMS sites Ratings, Likes/Dislikes, and Favorites fields. Built to be ready to go from the start or customizable to exactly the needs of your site.
Why buy this plugin
- Adds 3 high-impact interaction systems in one install
- Works with guests and logged-in users
- Gives editors safe per-entry control without developer tickets. You control what your editors control
- Know what content your users like and build new pages based on that engagment
- Includes moderation and recount tools for confidence at scale
- Supports full front-end template overrides when you need complete control over how the widget looks without needing to worry about backend functionality
Documentation & Support
Full technical documentation is available on this site. Need help or something not working as expect, don't hesitate to contact me!
Requirements
- Craft CMS 5+
- PHP 8.2+
Quick Start
- Create one or more Engagement fields in Craft:
- Rating
- Likes
- Favorites
- Add them to your field layout.
- Render them in twig
{{ craft.engagement.render(entry.myRatingFieldHandle) }}
{{ craft.engagement.render(entry.myLikesFieldHandle) }}
{{ craft.engagement.render(entry.myFavoritesFieldHandle) }}Field-Level Customization & Settings
Each field type supports:
- Icon mode (native icons, emoji, custom SVG, etc.)
- Behavior controls (guest interaction, vote changes, etc.)
- Text overrides
- Optional per-entry editor overrides. Choose what your editors have access to on a per field basis
Control if users need to be logged in and how the widgets work when they are not:
When guests are blocked from interaction:
- message: shows inline login/register message
- redirect: sends user to your login URL
- Or allow the guest to interact without logging in
Template Overrides
Override All Renderings and just use the render function in all your templates
<?php
return [
'widgetTemplates' => [
'ratings' => [
'html' => 'engagement/overrides/ratings/html',
'css' => 'engagement/overrides/ratings/css',
'js' => 'engagement/overrides/ratings/js',
],
'likes' => [
'html' => 'engagement/overrides/likes/html',
'css' => 'engagement/overrides/likes/css',
'js' => 'engagement/overrides/likes/js',
],
'favorites' => [
'html' => 'engagement/overrides/favorites/html',
'css' => 'engagement/overrides/favorites/css',
'js' => 'engagement/overrides/favorites/js',
],
],
];Or override per call
{{ craft.engagement.render(entry.myRatingField, {
widgetTemplates: {
html: 'engagement/overrides/ratings/html-v2',
css: 'engagement/overrides/ratings/css-v2',
js: 'engagement/overrides/ratings/js-v2'
}
}) }}Override exactly what you need when you need
Moderation
Use the Control Panel moderation area to review and manage activity.