Документация для разработчиков

Cookie

Cookie - класс для работы с файлами cookie.

Аналоги в старом ядре:
CMain::set_cookie - для создания,
CMain::get_cookie - для получения.

В ядре D7 cookie задавать нужно через класс Bitrix\Main\HttpResponse, получать их нужно через класс Bitrix\Main\HttpRequest.

Примеры

use Bitrix\Main\Application;
use Bitrix\Main\Web\Cookie;
$cookie = new Cookie("TEST", 42);
$cookie->setDomain("example.com");
Application::getInstance()->getContext()->getResponse()->addCookie($cookie);
// Cookie будет доступна только на следующем хите!
echo Application::getInstance()->getContext()->getRequest()->getCookie("TEST");

Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
2
Кирилл Черныш
Если Вы ещё работаете на http
Код
$cookie->setSecure(false);
3
Павел Дорошин
Если вы будете добавлять cookie через ajax, подключая только prolog_before.php, то обязательно нужно обновить заголовки, иначе cookie на запишутся.
Код
$application = Application::getInstance();
$context = $application->getContext();

$cookie = new Cookie("TEST", 12, time() + 60*60*24*60);
$cookie->setDomain($context->getServer()->getHttpHost());
$cookie->setHttpOnly(false);

$context->getResponse()->addCookie($cookie);
$context->getResponse()->flush("");
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх