Liker

Лайки звезды эмодзи для MODX
Liker
Применение

Что можно сделать

Один компонент — разные типы реакций.

❤️
Like — сердечко

Базовый тип. Повторный клик снимает голос.

[[!Liker?
  &target_id=`99001`
  &target_key=`likerDemo`
  &type=`like`
]]
⭐
Stars — рейтинг звёздами

Средний рейтинг + распределение. Максимум задаётся в meta.max_stars. На phx создать отдельный шаблон если звезд не 5.

4.5 (2)
[[!Liker?
  &target_id=`99002`
  &target_key=`likerDemo`
  &type=`stars`
  &meta=`{ "max_stars":7}`
]]
📊
Stars — расширенная статистика

То же плюс полосы распределения и проценты. Шаблон liker.stars.ext.

3 (3)
1:
0 (0%)
2:
1 (33%)
3:
1 (33%)
4:
1 (33%)
5:
0 (0%)
[[!Liker?
  &target_id=`99003`
  &target_key=`likerDemo`
  &type=`stars`
  &tpl=`liker.stars.ext`
  &meta=`{ "max_stars":5}`
]]
👍
Thumbs — палец вверх/вниз

Лайк/дизлайк с Wilson Score. Повторный клик снимает голос.

-2
[[!Liker?
  &target_id=`99004`
  &target_key=`likerDemo`
  &type=`thumbs`
  &tpl=`liker.thumbs`
]]
😍
Emoji — реакция эмодзи

Пять эмодзи, распределение по каждому. Смена эмодзи — обновление голоса.

1 1 0 0 0
[[!Liker?
  &target_id=`99005`
  &target_key=`likerDemo`
  &type=`emoji`
]]
📈
Emoji — расширенная статистика

Полосы и проценты по каждому эмодзи. Шаблон liker.emodji.ext.

1 1 0 0 0
😍
1 (50%)
😊
1 (50%)
😐
0 (0%)
😟
0 (0%)
😠
0 (0%)
[[!Liker?
  &target_id=`99006`
  &target_key=`likerDemo`
  &type=`emoji`
  &tpl=`liker.emodji.ext`
]]
🔖
Favorite — закладка

Тот же like, но иконка закладки. Для «сохранить на потом». Потом можно выводить на странице закладок с помощью других сниппетов.

[[!Liker?
  &target_id=`99007`
  &target_key=`likerDemo`
  &type=`like`
  &tpl=`liker.favorite`
]]
✅
Helpful — полезно / не полезно

Тот же thumbs, но с галочкой и крестиком. Для FAQ и инструкций.

[[!Liker?
  &target_id=`99008`
  &target_key=`likerDemo`
  &type=`thumbs`
  &tpl=`liker.helpful`
]]

Меняется только &type= и &tpl=. Всё остальное — target_id + target_key. Никаких привязок к таблицам.

Параметры

Привязать можно к чему угодно

Пара target_id + target_key — это «адрес» контейнера.
Ресурс, товар, пользователь, статья, файл — всё, что имеет ID и тип.

1
Идентификация
обязательно
Параметр По умолчанию Описание
target_id — ID объекта (ресурса, товара, пользователя…)
target_key modResource Тип объекта — «namespace» счётчика
tag '' Доп. ключ — для нескольких независимых счётчиков на одном объекте
2
Тип и оформление
Параметр По умолчанию Описание
type like Тип голосования: like stars thumbs emoji
tpl по типу Имя чанка — переопределить вид (см. примеры выше)
theme default CSS-тема через data-qu-liker-theme
meta { } JSON с доп. настройками типа — например { "max_stars":5}
3
Права доступа
Параметр По умолчанию Описание
allow_guests из настройки Разрешить голосовать без авторизации. auto — взять из настройки компонента
💡
Несколько независимых счётчиков на одной странице

Через параметр &tag= — одному объекту можно повесить несколько независимых рейтингов.

[[!Liker? &target_id=`52125` &tag=`quality`  &type=`thumbs`]]
[[!Liker? &target_id=`52125` &tag=`delivery` &type=`thumbs`]]
[[!Liker? &target_id=`52125` &tag=`price`    &type=`thumbs`]]
Синтаксис

Fenom или PHx — на выбор

Оба синтаксиса чанков поддерживаются.

⚡
Fenom

Синтаксис pdoTools

{$post.text}
🏛️
PHx

Классический синтаксис MODX

[[+post.text]]
🔄
Переключение

Выбрал при установке — поменял переустановкой. Данные БД остаются.

Без потери данных

MIGX

MIGX как фундамент

Гибкость и функциональность.

🧩
Расширение полей

Любое количество кастомных полей

🎯
Единый бэкенд

Всё в конфигах MIGX

🔀
Один компонент — две ветки

Работает на MODX Revolution 2 и 3 из одного пакета.

⬆️
Миграция без боли

Обновить сайт с MODX 2 на 3 проще — Liker переезжает вместе с ним. Секции, посты, файлы, настройки — всё остаётся на месте. Менять апи/код не нужно!

БД: 0.0176 s / 50 запросов PHP: 0.1536 s Всего: 0.1712 s Источник: database
🚀 Всё быстро — даже на обычном виртуальном хостинге Timeweb.