https://github.com/voral/likeit
Модуль для 1C-Битрикс CMS оценка посетителями элементов информационных блоков
https://github.com/voral/likeit
bitrix bitrix-cms bitrix-components
Last synced: 10 months ago
JSON representation
Модуль для 1C-Битрикс CMS оценка посетителями элементов информационных блоков
- Host: GitHub
- URL: https://github.com/voral/likeit
- Owner: Voral
- License: gpl-3.0
- Created: 2021-12-17T20:07:38.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-01-03T18:08:52.000Z (over 4 years ago)
- Last Synced: 2025-04-06T05:39:57.389Z (about 1 year ago)
- Topics: bitrix, bitrix-cms, bitrix-components
- Language: PHP
- Homepage:
- Size: 153 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: history.md
- License: LICENSE
Awesome Lists containing this project
README
# Модуль 1C-Bitrix CMS лайки элементов информационных блоков
ИД модуля: vasoft.likeit
## Возможности
Модуль обеспечивает обработку "Лайков" проставляемых посетителями сайта для элементов информационных блоков. При первом
клике по кнопке отмеченной для модуля происходит установка лайка, при повторном - отмена.
## Ограничения
- Bitrix версии 21.600 или выше
- PHP версии 7.4 или выше
## Установка
- Установите модуль стандартным способом
- Подключите компонент:
```php
$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 учетом кеширования)
Вне кешируемой области:
```php
use Bitrix\Main\Page\Asset;
Asset::getInstance()->addJs('/bitrix/js/vasoft.likeit/likeit.js');
```
Внутри шаблонов омпонентов
```php
$this->addExternalJS('/bitrix/js/vasoft.likeit/likeit.js');
```
Пример элементов:
```html
```
Если соответствующий элемент информационного блока уже был "лайкнут" текущим пользователем - элементу HTML добавляется
класс 'vs-likeit-active'.
Класс 'vs-likeit-action' указывается если необходимо обрабатывать клик.
Классы 'vs-likeit-active' и 'vs-likeit-cnt' можно переопределить задавая значения JavaScript переменным
```js
window.vas_likeit_classactive = 'my-acive';
window.vas_likeit_classcnt = 'my-cnt';
```
Так же получить статистику по лайкам в шаблонах при помощи команды (где $arIDs - массив ИД элементов инфо-блока)
```php
\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);
```
## Дополнительная информация
- [Страница модуля](https://va-soft.ru/market/likeit/)
- [Страница компонента кнопки](https://va-soft.ru/docs/likeit-button/)
- [Модуль на Маркетплейс 1С-Битрикс](https://marketplace.1c-bitrix.ru/solutions/vasoft.likeit/)