Skip to content
/ likeit Public

Модуль для 1C-Битрикс CMS оценка посетителями элементов информационных блоков

License

Notifications You must be signed in to change notification settings

Voral/likeit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Модуль 1C-Bitrix CMS лайки элементов информационных блоков

ИД модуля: vasoft.likeit

Возможности

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

Ограничения

  • Bitrix версии 21.600 или выше
  • PHP версии 7.4 или выше

Установка

  • Установите модуль стандартным способом
  • Подключите компонент:
$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);

Дополнительная информация

About

Модуль для 1C-Битрикс CMS оценка посетителями элементов информационных блоков

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published