someplus / module-mage-content-reactions

someplus/module-mage-content-reactions

Content reactions (emoji) module for Magento 2 CMS pages

  • SomePlus
magento2-module Compatibility: 2.4.7-2.4.9 Code Quality: Fail Tests: N/A Security: Pass proprietary

MageContentReactions - User & Installation Guide

Enhance your Adobe Commerce store with interactive content reactions. This extension allows customers to express their feelings about your CMS pages through emojis.


1. Overview

The MageContentReactions extension by SomePlus is a lightweight, performance-oriented tool designed for Adobe Commerce (Magento 2). It injects a modern, AJAX-based reaction block into your CMS pages, encouraging user engagement without affecting page load speeds.

Key Features:

  • 6 Interactive Emojis: Like, Love, Haha, Wow, Sad, and Celebrate.
  • Full Page Cache (FPC) Friendly: Uses AJAX to load and sync reaction data.
  • Guest & Customer Support: Allow everyone or only logged-in users to react.
  • Responsive Design: Works perfectly on mobile, tablet, and desktop.
  • Admin Controls: Enable/Disable globally or on specific pages.

2. Installation Guide

Prerequisites

  • Magento 2.x (Open Source or Adobe Commerce)
  • PHP 8.1 or higher

Installation Steps (Manual)

  1. Upload: Extract the extension package and upload it to your Magento installation under the following directory: app/code/SomePlus/MageContentReactions/
  2. Enable Module: Run the following command in your Magento root directory:
    php bin/magento module:enable SomePlus_MageContentReactions
    
  3. Upgrade Database: Apply the database schema:
    php bin/magento setup:upgrade
    
  4. Compile Code: Generate dependency injection classes:
    php bin/magento setup:di:compile
    
  5. Deploy Assets: (Required if in production mode):
    php bin/magento setup:static-content:deploy
    
  6. Clear Cache:
    php bin/magento cache:flush
    

3. Configuration (Admin Panel)

Once installed, go to Stores > Configuration > SomePlus > Content Reactions.

General Settings

  • Enable Module: Master switch for the extension.
  • Allow Guest Reactions: Set to 'Yes' to allow non-logged-in users to interact.
  • Reaction Types: Customize which emojis you want to display.

Display Settings

  • Show on CMS Pages: Automatically inject the block into all CMS pages.
  • Excluded Page Identifiers: List specific pages where you don't want the reaction block to appear (e.g., home, privacy-policy).
  • Position: Choose to show reactions before or after the main content.
  • Show Reaction Counts: Display how many people have clicked each emoji.

4. Frontend Usage

The extension automatically detects when it's on a CMS page and renders the block.

  • Interacting: Users click an emoji to react. A second click on the same emoji removes the reaction.
  • Privacy: If guest reactions are disabled, users will be prompted to log in.
  • Feedback: Real-time messages (e.g., "You reacted with ❤️") provide immediate feedback to the user.

5. Troubleshooting & Support

  • Reactions not showing? Ensure the module is enabled in configuration and run bin/magento cache:flush.
  • Counts not updating? Check your browser console for AJAX errors. Ensure permissions for /var/log are correct to see extension logs.

For dedicated support, visit: https://someplus.work/support
Email: [email protected]


© 2024 SomePlus. All rights reserved.

Release Notes

[1.0.0] - 2024-01-13

Added

  • Initial release of MageContentReactions for Adobe Commerce.
  • Built-in support for 6 reaction types (Like, Love, Haha, Wow, Sad, Celebrate).
  • Full Page Cache (FPC) compatibility using AJAX data sourcing.
  • Comprehensive Admin Configuration panel:
    • Globalization: Toggle the extension on or off.
    • Security: Enable/Disable guest reactions.
    • Customization: Choose which reactions to display.
    • Targeting: Exclude specific CMS pages by identifier.
    • Layout: Option to position the block before or after page content.
  • Secure AJAX handling with CSRF validation and form key integration.
  • Responsive frontend UI with modern CSS gradients and animations.
  • Dark Mode support based on system preferences.
  • PSR-4 compliant architecture and optimized database schema.
Versions
Version Stability QA Status Compatibility Released
1.0.2 stable Fail Magento 2.4.7-2.4.9 Details 2026-07-25 20:35:01
1.0.1 stable Not tested Not yet tested Details 2026-07-25 20:34:37
1.0.0 stable Fail Magento 2.4.7-2.4.9 Details 2026-07-25 16:28:01

Requires 4

Package Constraint
magento/framework >=103.0
magento/module-cms >=104.0
magento/module-customer >=103.0
php >=8.1

Compatibility

Each Magento release line is installed on its supported PHP versions, then the module is built (DI compilation + static-content deploy) and its unit and integration suites are run. The matrix shows the lines and PHP versions the module is confirmed to install and run on. Code-quality results further down (phpstan, phpcs, …) are reported separately and never affect compatibility.

Compatibility matrix (Magento × PHP)
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 Pass Pass
2.4.8 Pass Pass
2.4.9 Pass Pass

Code Quality

Advisory checks against the module's source. Static analysis runs once across the whole module; PHPStan re-runs per Magento + PHP version because resolvable symbols differ between releases. These NEVER affect the Compatibility badge. A phpcs finding can't make a module incompatible.

Static analysis

Coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity. Each runs once for the whole module.

Static analysis results
Tool Status Findings Summary
PHPCS Warning 4 4 warnings (ruleset: Magento2), 4 auto-fixable with phpcbf
PHPMD Pass 0
Cpd Pass 0
Composer validate Info 4 valid; 4 advisory notes (composer validate --strict)

PHPStan

Type-checks the module's PHP against a real Magento install at the configured gate level. Re-runs per Magento and PHP version because resolvable symbols differ between releases.

PHPStan results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 3 3
2.4.8 3 3
2.4.9 3 3

Tests

Unit and integration suites, run for each applicable Magento and PHP version. A test failure speaks to the module's behaviour, not its compatibility with a Magento line, so it is reported here separately and never reddens the compatibility matrix.

Unit tests

Unit tests results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 N/A N/A
2.4.8 N/A N/A
2.4.9 N/A N/A

Integration tests

Integration tests results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 N/A N/A
2.4.8 N/A N/A
2.4.9 N/A N/A

Security

Security checks run directly against the module: an audit of its declared dependencies for known vulnerabilities (composer audit) and a scan of its source for malware and web-shell signatures. Each runs once. A malware detection fails the version outright.

Security results
Tool Status Findings Summary
Composer audit Pass 0
Malware scan Pass 0
License
proprietary
Authors

More from Some Plus

View vendor
Make it pay

Turn an existing module into recurring revenue.

If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.