Уведомление об использовании файлов Cookie с 31 мая 2025 года стало обязательной составляющей любого сайта
Уведомление об использовании файлов Cookie с 31 мая 2025 года стало обязательной составляющей любого сайта. Рассмотрим один из вариантов создания такого уведомления на 1С-Битрикс. Как правило уведомление состоит из четырех компонентов: 1) всплывающее окно уведомления, 2) текст уведомления, 3) кнопка-крестик "Закрыть" и 4) кнопка "Принять". Создадим в подвале шаблона сайта html уведомления и обрамим его тегом index, так его содержимое не представляет ценности для поисковиков:

Сразу повесим на кнопку закрытия окна cookie__hide функцию removeCookie() удаления уведомления из DOM. А на кнопку "Принять" повесим функцию записи значения в cookie.
Теперь стилизуем уведомление:
.cookie-apply{
display: none;
position: fixed;
bottom: 0px;
width: 100%;
background-color: #fff;
z-index: 10;
padding: 40px 30px;
border-top: 1px solid #ccc;
}
.cookie-apply__close{
position: absolute;
top: 10px;
right: 30px;
}
.cookie-apply p{
padding-right: 40px;
}
.cookie-apply button{
width: 130px;
}
@media(max-width: 576px){
.cookie-apply{
padding: 15px;
}
}
В итоге должно получиться вот такое окно уведомления (если у вас оно отличается от показанного, то дополнительно стилизуйте его):

Теперь настало время покодить. Первым делом запрограммируем функцию showCookie(), которая показывает уведомление через несколько секунд после загрузки страницы:
function showCookie(){
$(".cookie-apply").css({"display":"flex"})
}
setTimeout(showCookie, 5000)
Логика простая - функция меняет свойство display со значения none на значение flex и уведомление отображается. С помощью setTimeout мы запускаем функцию showCookie через 5 секунд после загрузки страницы. Теперь запрограммируем кнопку-крестик закрытия уведомления:
function removeCookie(){
$(".cookie-apply").remove()
}
Тут тоже все просто - функция удаляет уведомление из DOM. И наконец запрограммируем кнопку "Принять":
function applyCookie(){
$(".cookie-apply").remove()
$.post("/ajax/cookie_apply.php", {}, function(data){
})
}
При клике по этой кнопке запускается функция applyCookie, которая также удаляет уведомление из DOM и отправляет POST запрос без параметров на скрипт /ajax/cookie_apply.php, в котором и происходит запись в cookie действия - принятие текста уведомления. Ниже содержимое скрипта cookie_apply.php:
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
global $APPLICATION;
$APPLICATION->set_cookie("COOKIE_APPLY", "Y");
$application = \Bitrix\Main\Application::getInstance();
$context = $application->getContext();
$context->getResponse()->flush('');
Т.е. в куки записывается строка COOKIE_APPLY со значением Y. Соответственно, при каждой загрузке страницы нужно проверять содержимое строки COOKIE_APPLY в куках и если оно равно Y, то уведомление на страницы не выводим, а в противном случае выводим. Обрамим html уведомления условием:

Вот собственно и все. Ну а если вам лень делать все самому, то можете приобрести модуль по доступной цене, в котором все это реализовано.