if(result == 1)
{
var favorItem = $('.favorites[data-item="'+id+'"]').addClass('activeFavorite');
const activeFavoriteID = [];
const favorite = document.getElementsByClassName('activeFavorite');
for (inp of favorite)
{
if (inp.getElementsByClassName('activeFavorite'))
{
activeFavoriteID.push(inp.id);
console.log('dfvghjk');
}
}
localStorage.setItem('activeFavoriteID', JSON.stringify(activeFavoriteID));
}
if(result == 2)
{
$('.favorites[data-item="'+id+'"]').removeClass('activeFavorite');
$('.favorites[data-item="'+id+'"]').addClass('remove');
const activeFavoriteID = [];
const favorite = document.getElementsByClassName('remove');
for (inp of favorite) {
if (inp.getElementsByClassName('remove'))
{
activeFavoriteID.pop(inp.id);
}
}
localStorage.setItem('activeFavoriteID', JSON.stringify(activeFavoriteID));
}
localStorage.setItem('favorites', JSON.stringify([id]))
echo json_encode($result);
поставить \Bitrix\Main\Context::getCurrent()->getResponse()->flush('');
if ($_GET['id'])
{
if (!$USER->IsAuthorized()) // Для неавторизованного
{
<b>$arElements = unserialize($APPLICATION->get_cookie('favorites'));</b>
if (!in_array($_GET['id'], $arElements))
{
$arElements[] = $_GET['id'];
$result = 1; // Датчик. Добавляем
}
else
{
$key = array_search($_GET['id'], $arElements); // Находим элемент, который нужно удалить из избранного
unset($arElements[$key]);
$result = 2; // Датчик. Удаляем
}
<b>$APPLICATION->set_cookie("favorites", serialize($arElements));</b>
}
else
{ // Для авторизованного
$idUser = $USER->GetID();
$rsUser = CUser::GetByID($idUser);
$arUser = $rsUser->Fetch();
$arElements = $arUser['UF_FAVORITES']; // Достаём избранное пользователя
if (!in_array($_GET['id'], $arElements)) // Если еще нету этой позиции в избранном
{
$arElements[] = $_GET['id'];
$result = 1;
} else
{
$key = array_search($_GET['id'], $arElements); // Находим элемент, который нужно удалить из избранного
unset($arElements[$key]);
$result = 2;
}
$USER->Update($idUser, Array("UF_FAVORITES" => $arElements)); // Добавляем элемент в избранное
}
}
/* Избранное */
echo json_encode($result);
die(); ?>
$favorites = $APPLICATION->get_cookie("favorites");
Но тк данная информация будет скрыта на маленьких устройствах, то думаю можно и упустить момент клика
Фин Дел, Спасибо Вам огромное за предоставленный пример, очень помогли