
Reactions
Универсальная система реакций для MODX 3 — лайки, наборы в стиле GitHub, топы и trending на любом объекте


Минимальный путь: подключить ассеты, вызвать сниппет, проверить клик.
В шаблоне или через registerClientScript / registerClientCSS.
<link rel="stylesheet" href="[[++assets_url]]components/reactions/js/web/reactions.css">
<script src="[[++assets_url]]components/reactions/js/web/reactions.js" defer></script><link rel="stylesheet" href="{'assets_url' | config}components/reactions/js/web/reactions.css">
<script src="{'assets_url' | config}components/reactions/js/web/reactions.js" defer></script>Подробнее про автоинициализацию и data-атрибуты — JavaScript-виджет.
На странице ресурса (набор github). При layout=auto (по умолчанию) виджет рисует compact picker: чипы + кнопка +. Для updown остаётся полоса из двух кнопок.
[[!Reactions? &set=`github`]]
[[!Reactions? &set=`updown`]]
[[!Reactions? &set=`github` &layout=`bar`]]{'!Reactions' | snippet : [
'set' => 'github',
'object' => $_modx->resource.id,
]}
{'!Reactions' | snippet : [
'set' => 'github',
'layout' => 'bar',
'object' => $_modx->resource.id,
]}Без &set берётся значение reactions_default_set (по умолчанию updown).
Товар miniShop3:
[[!Reactions?
&class=`msProduct`
&object=`[[*id]]`
&set=`updown`
]]{'!Reactions' | snippet : [
'class' => 'msProduct',
'object' => $_modx->resource.id,
'set' => 'updown',
]}Параметры и чанки — сниппет Reactions.
curl "https://example.com/assets/components/reactions/api.php?action=counts&class_key=modResource&object_id=1&context=web"Виджет сам запрашивает CSRF и обновляет счётчики через AJAX.
После установки и смены настроек: Настройки → Очистить кэш.
Дальше: