Лайки для элементов информационных блоков
Стоимость:
руб.
Получите быструю помощь по покупке, оплате, установке, настройке, продлению и другим вопросам, оставив заявку
💡 Нужна консультация и помощь по работе?
После установки модуля из Маркетплейс
Подключите компонент:$APPLICATION->IncludeComponent( "vasoft:likeit.button", ".default", array( "SHOW_COUNTER" => "Y", // отображать счетчик "ENABLE_ACTION" => "Y", // разрешить голосование "ID" => $arResult['ID'] // идентификатор элемента ), false );
Либо выполнить следующее:
use Bitrix\Main\Page\Asset; Asset::getInstance()->addJs('/bitrix/js/vasoft.likeit/likeit.js'); Внутри шаблонов компонентов:$this->addExternalJS('/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>Если соответствующий элемент информационного блока уже был "лайкнут" текущим пользователем - элементу HTML добавляется класс 'vs-likeit-active'.
Класс 'vs-likeit-action' указывается если необходимо обрабатывать клик.
Классы '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'); $arIDs = [12334, 12334]; $stat = new \Vasoft\LikeIt\Services\Statistic(); // Без учета текущего пользователя и без кеширования $arLikes = $stat->checkLike($arIDs); // Без учета текущего пользователя и с кешированием $arLikes = $stat->checkLikeCached($arIDs); // С информацией о выборе текущего пользователя и без кеширования $arLikes = $stat->checkLikeUser($arIDs); // С информацией о выборе текущего пользователя и с кешированием $arLikes = $stat->checkLikeUserCached($arIDs);
Подключите компонент:$APPLICATION->IncludeComponent( "vasoft:likeit.button", ".default", array( "SHOW_COUNTER" => "Y", // отображать счетчик "ENABLE_ACTION" => "Y", // разрешить голосование "ID" => $arResult['ID'] // идентификатор элемента ), false );
Либо выполнить следующее:
- Указать элемент или элементы, которые будут содержать информацию о лайках. Для этого необходимо указать 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'); Внутри шаблонов компонентов:$this->addExternalJS('/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>Если соответствующий элемент информационного блока уже был "лайкнут" текущим пользователем - элементу HTML добавляется класс 'vs-likeit-active'.
Класс 'vs-likeit-action' указывается если необходимо обрабатывать клик.
Классы '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'); $arIDs = [12334, 12334]; $stat = new \Vasoft\LikeIt\Services\Statistic(); // Без учета текущего пользователя и без кеширования $arLikes = $stat->checkLike($arIDs); // Без учета текущего пользователя и с кешированием $arLikes = $stat->checkLikeCached($arIDs); // С информацией о выборе текущего пользователя и без кеширования $arLikes = $stat->checkLikeUser($arIDs); // С информацией о выборе текущего пользователя и с кешированием $arLikes = $stat->checkLikeUserCached($arIDs);