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`, иначе поломаются запросы.