LikeDislike - возможность ставить оценки
- Дополнения
- LikeDislike
LikeDislike - возможность ставить оценки
Скачивать здесь: LikeDislike
В коробке:
- сниппет LikeDislike, который и дает возможность ставить оценки;
- сниппет ldController для запуска DocLister с расширенным контроллером site_content;
- модуль LikeDislike, чтобы видеть оценки в админке.
Защита от накруток никакая простая – куки, ip, также можно разрешить оценивать только зарегистрированным пользователям.
Установка
После установки нужно запустить модуль, чтобы создались таблицы.
На странице документа нужно подключить скрипт jGrowl:
<script type="text/javascript" src="assets/js/jGrowl/jquery.jgrowl.min.js"></script> <link rel="stylesheet" href="assets/js/jGrowl/jquery.jgrowl.min.css">
И скрипт для ajax-обработчика:
<script type="text/javascript" src="assets/snippets/LikeDislike/likedislike.js"></script> <link rel="stylesheet" href="assets/snippets/LikeDislike/likedislike.css">
Вызов сниппета выглядит так:
[!LikeDislike? &enabledTpl=`@CODE: <div class="likedislike" data-id="[+rid+]"> <a href="#" class="like"> <i class="fa fa-lg fa-thumbs-up"></i> <span>[+like+]</span> </a> <a href="#" class="dislike"> <i class="fa fa-lg fa-thumbs-down"></i> <span>[+dislike+]</span> </a> </div> ` &disabledTpl=`@CODE: <div class="likedislike"> <span class="like">За: <span>[+like+]</span></span> <span class="dislike">Против: <span>[+dislike+]</span></span> </div> ` !]
Скрипт likedislike.js написан под верстку в этом примере.
Кроме вывода шаблонов сниппет задает плейсхолдеры [+modResource.like.{id}+] и [+modResource.dislike.{id}+].
Параметры сниппета LikeDislike
- rid – id оцениваемого ресурса, если параметр не задан, то по возможности используется id текущего ресурса;
- classKey – параметр позволяющий разделять оцениваемые сущности. Сделано на будущее, вдруг понадобится ставить оценки пользователям или еще чему-нибудь. По умолчанию – modResource.
- action – действие: like, dislike, stat (по умолчанию – stat);
- enabledTpl – шаблон, если разрешено оценивать;
- disabledTpl – шаблон, если запрещено оценивать;
- onlyUsers – разрешено оценивать только зарегистрированным пользователям;
Если не задавать шаблоны, то сниппет вернет массив с ключами like и dislike.
Параметры сниппета ldController
- allowLD – разрешить оценивать в списке (по умолчанию – 0);
- enabledTpl – шаблон, если разрешено оценивать;
- disabledTpl – шаблон, если запрещено оценивать;
- onlyUsers – разрешено оценивать только зарегистрированным пользователям;
- classKey;
Для вывода в основном шаблоне (&tpl) нужно использовать плейсхолдер [+likedislike+]. Имена полей в параметрах для выборки и сортировки лучше задавать с префиксом таблицы («c» для site_content и «ld» для likedislike). Поле like обязательно должно быть в обратных кавычках – `like`, иначе поломаются запросы.