Статус партнерства с 1С-Битрикс: Бизнес партнер
  • Маркетплейс
  • Документация
  • Блог
  • Новости
  • Софт
  • Профиль
  • Лайки для элементов информационных блоков

    Модуль обеспечивает обработку "Лайков" проставляемых посетителями сайта для элементов информационных блоков.

    При первом клике по кнопке отмеченной для модуля происходит установка лайка, при повторном - отмена. Информация хранится в собственной таблице, возможность хранения "дизлайков" отсутствует. Есть защита от повторного голосования.

    Для использования функционала, после установки модуля из Маркетплейс необходимо выполнить следующее:

    • Указать элемент или элементы, которые будут содержать информацию о лайках. Для этого необходимо указать css-класс 'vs-likeit' и добавить атрибут 'dataid' со значением ИД элемента информационного блока
    • Для элементов, которые так же являются кнопками установки/отмены "лайка", указать css-класс vs-likeit-action
    • для отображения количества установленных "лайков" разместить внутри элемента с классом vs-likeit элемент с классом vs-likeit-cnt
    • Подключить скрипт (c учетом кеширования)
    use Bitrix\Main\Page\Asset;
    Asset::getInstance()->addJs('/bitrix/js/vasoft.likeit/likeit.js');
    

    Пример вывода элементов:

    <span class="vs-likeit" dataid="10"><span class="vs-likeit-cnt></span></span>
    <span class="vs-likeit vs-likeit-action"  dataid="10"><span class="vs-likeit-cnt></span></span>
    <span class="vs-likeit vs-likeit-action" dataid="10"></span>

    Класс 'vs-likeit-action' указывает на необходимость обрабатывать клик.

    Если соответствующий элемент информационного блока уже был "лайкнут" текущим пользователем - элементу HTML добавляется класс 'vs-likeit-active'.

    Классы 'vs-likeit-active' и 'vs-likeit-cnt' можно переопределить задав значения JavaScript переменным

    window.vas_likeit_classactive = 'my-acive';
    window.vas_likeit_classcnt = 'my-cnt';
    

    Так же получить статистику по лайкам в шаблонах при помощи команды (где $arIDs - массив ИД элементов инфо-блока)

    Без учета текущего пользователя

    \Bitrix\Main\Loader::includeModule('vasoft.likeit');
    $arLikes = \Vasoft\Likeit\LikeTable::checkLike($arIDs, false);
    

    C информацией о выборе текущего пользователя

    \Bitrix\Main\Loader::includeModule('vasoft.likeit');
    $arLikes = \Vasoft\Likeit\LikeTable::getStatList($arIDs);
    

    Все решения

    © 2001-2017 Воробьев Александр