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

  1. Create one or more Engagement fields in Craft:
    1. Rating
    2. Likes
    3. Favorites
  2. Add them to your field layout.
  3. 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.