Модуль обеспечивает обработку "Лайков" проставляемых посетителями сайта для элементов информационных блоков.
При первом клике по кнопке отмеченной для модуля происходит установка лайка, при повторном - отмена.
Модуль на GitHub
Для работы модуля необходимо:
При первом клике по кнопке отмеченной для модуля происходит установка лайка, при повторном - отмена.
Модуль на GitHub
Для работы модуля необходимо:
- Модуль "Главный модуль" версии 21.600.000 или новее
- Модуль "Информационные блоки"
- PHP версии 7.4 или новее
После установки модуля из Маркетплейс<br />Подключите компонент:<div class="blog-post-code" title="Код"><table class="blogcode"><tr><td><pre>$APPLICATION->IncludeComponent(
"vasoft:likeit.button",
".default",
array(
"SHOW_COUNTER" => "Y", // отображать счетчик
"ENABLE_ACTION" => "Y", // разрешить голосование
"ID" => $arResult["ID"] // идентификатор элемента
),
false
);</pre></td></tr></table></div><br />Либо выполнить следующее:<br /><ul><li>Указать элемент или элементы, которые будут содержать информацию о лайках. Для этого необходимо указать css-класс 'vs-likeit' и добавить атрибут 'dataid' со значением ИД элемента информационного блока<br /><li>Для элементов, которые так же являются кнопками установки/отмены "лайка", указать css-класс vs-likeit-action<br /><li>для отображения количества установленных "лайков" разместить внутри элемента с классом vs-likeit элемент с классом vs-likeit-cnt<br /><li>Подключить скрипт (c учетом кеширования)<br /></ul>Вне кешируемой области:<br /><div class="blog-post-code" title="Код"><table class="blogcode"><tr><td><pre>use Bitrix\Main\Page\Asset;
Asset::getInstance()->addJs("/bitrix/js/vasoft.likeit/likeit.js");
</pre></td></tr></table></div>Внутри шаблонов компонентов:<div class="blog-post-code" title="Код"><table class="blogcode"><tr><td><pre>$this->addExternalJS("/bitrix/js/vasoft.likeit/likeit.js");</pre></td></tr></table></div>Пример элементов:<br /><br /><div class="blog-post-code" title="Код"><table class="blogcode"><tr><td><pre><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></pre></td></tr></table></div>Если соответствующий элемент информационного блока уже был "лайкнут" текущим пользователем - элементу HTML добавляется класс 'vs-likeit-active'.<br /><br />Класс 'vs-likeit-action' указывается если необходимо обрабатывать клик.<br /><br />Классы 'vs-likeit-active' и 'vs-likeit-cnt' можно переопределить зада значения JavaScript переменным<br /><div class="blog-post-code" title="Код"><table class="blogcode"><tr><td><pre>window.vas_likeit_classactive = "my-acive";
window.vas_likeit_classcnt = "my-cnt";
</pre></td></tr></table></div><br />Так же получить статистику по лайкам в шаблонах при помощи команды (где $arIDs - массив ИД элементов инфо-блока)<br /><div class="blog-post-code" title="Код"><table class="blogcode"><tr><td><pre>\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);
</pre></td></tr></table></div><br /><br />
Email: <a href="mailto:voral2002@mail.ru" target="_blank" >voral2002@mail.ru</a>