LikeDislike

LikeDislike - возможность ставить оценки

LikeDislike - возможность ставить оценки на Evolution CMS.

Скачивать здесь: Pathologic

В коробке:

  • сниппет 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="/en/04_extras/likedislike.html#" class="like">
        <i class="fa fa-lg fa-thumbs-up"></i>
        <span>[+like+]</span>
    </a>
    <a href="/en/04_extras/likedislike.html#" 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`, иначе поломаются запросы.