
Reactions
Universal reactions for MODX 3 — likes, GitHub-style sets, tops and trending on any object


Universal reactions for MODX Revolution 3. From a simple like/dislike pair to a GitHub-style set — on a resource, miniShop3 product, or any other object.
The component is headless: no manager UI. You configure it via system settings, REST API, and CLI.
Source: Ibochkarev/Reactions (MIT).
updown, github, full (24 types)github / full (layout=auto): chips + + button. layout=bar for the full stripclass / class_key, DB field object_class)auth_only, ip, ip_cookie, session| Requirement | Version |
|---|---|
| MODX Revolution | 3.0+ |
| PHP | 8.2–8.4 |
| Database | MySQL / MariaDB (InnoDB) |
updown, github, full), snippets, chunks, and system settings.Build from source (needs Node.js and npm):
composer install
php _build/build.phpbuild.php builds the widget from frontend/ into assets/components/reactions/js/web/.
| Key | Reactions | Mode |
|---|---|---|
updown | 👍 like, 👎 dislike | Mutually exclusive (exclusive) |
github | 👍 👎 ❤️ 😂 😮 😢 😡 🎉 | Multiple reactions at once |
full | github + 🚀👀🔥👏🤔🥳⭐🍺✨💯🙏💪😎😍😕🙌 | 24 types. Subset via reactions_full_types |
Custom types and sets: CLI or admin API.
| Snippet | Purpose |
|---|---|
| Reactions | Buttons with counts (picker / bar) |
| ReactionsCount | Counts without buttons |
| TopLiked | Top by likes |
| TopRated | Top by rating (likes − dislikes) |
| Trending | Hot items (Reddit-style formula) |
| ReactionsSchema | JSON-LD AggregateRating |
| Policy | Description |
|---|---|
reactions_view | View reaction data |
reactions_manage | Types, sets, and bans via API |
reactions_stats | Statistics |
| Need | Doc |
|---|---|
| Render the block on a page | Quick start |
reactions_* keys | System settings |
| AJAX and styles | JavaScript widget |
| Endpoints and error codes | REST API |
| recount, ban, type | CLI |
| Plugins | Events |
| Telegram / Discord / Slack | Webhooks |