<? require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php");
$GLOBALS['APPLICATION']->RestartBuffer();
use Bitrix\Main\Application;
use Bitrix\Main\Web\Cookie;
$application = Application::getInstance();
$context = $application->getContext();
global $APPLICATION;
/* Избранное */
if ($_GET['id']) {
if (!$USER->IsAuthorized()) // Для неавторизованного
{
$arElements = unserialize($APPLICATION->get_cookie('favorites'));
if (!in_array($_GET['id'], $arElements)) {
$arElements[] = $_GET['id'];
$result = 1; // Датчик. Добавляем
} else {
$key = array_search($_GET['id'], $arElements); // Находим элемент, который нужно удалить из избранного
unset($arElements[$key]);
$result = 2; // Датчик. Удаляем
}
// вот тут, я так понимаю что нужно передать в далее $result который или 1 или 2, что бы другая функция уже на основании этого добавила (1) или удалила (2)
header('Content-Type: application/x-javascript; charset='.LANG_CHARSET);
echo \Bitrix\Main\Web\Json::encode($result);
\Bitrix\Main\Application::getInstance()->end();
echo json_encode($result);
die();
} else { // Для авторизованного
....
use Bitrix\Main\Application;
use Bitrix\Main\Web\Cookie;
$application = Application::getInstance();
$context = $application->getContext();
/* Вывод количества избранного */
if (!$USER->IsAuthorized()) // Для неавторизованного
{
$arElements = unserialize($APPLICATION->get_cookie('favorites'));
if ($arElements == '') {
unset($arElements);
}
foreach ($arElements as $k => $fav) // Checking empty IDs
{
if ($fav == '0') {
unset($arElements[$k]);
}
unset($fav);
}
$wishCount = count($arElements);
}
но т.к. чпу что переход идет на catalog/kantstovary_dlya_ofisa/bloknoty_zapisnye_knigi/zapisnye_knigi_a4/filter/clear/apply/