Лайки для элементов информационных блоков

0

Разработчик: ИП Воробьев А.Е.

Установлено: 500 - 999

Обновлено: 30.12.2021

Адаптирован под мобильные устройства

Совместим с редакциями Битрикс: «Первый сайт» / «Старт» / «Стандарт» / «Малый бизнес» / «Бизнес» / «Интернет-магазин + CRM» /

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

При первом клике по кнопке отмеченной для модуля происходит установка лайка, при повторном - отмена.

Модуль на GitHub

Для работы модуля необходимо:
  • Модуль "Главный модуль" версии 21.600.000 или новее
  • Модуль "Информационные блоки"
  • PHP версии 7.4 или новее
Для более ранних версий PHP и ядра модуль доступен на GitHub
После установки модуля из Маркетплейс<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-класс &#39;vs-likeit&#39; и добавить атрибут &#39;dataid&#39; со значением ИД элемента информационного блока<br /><li>Для элементов, которые так же являются кнопками установки/отмены &quot;лайка&quot;, указать css-класс vs-likeit-action<br /><li>для отображения количества установленных &quot;лайков&quot; разместить внутри элемента с классом 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>Если соответствующий элемент информационного блока уже был &quot;лайкнут&quot; текущим пользователем - элементу HTML добавляется класс &#39;vs-likeit-active&#39;.<br /><br />Класс &#39;vs-likeit-action&#39; указывается если необходимо обрабатывать клик.<br /><br />Классы &#39;vs-likeit-active&#39; и &#39;vs-likeit-cnt&#39; можно переопределить зада значения 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>