Modx minishop2 и Cookie
Всем привет,
Столкнулся с такой проблемой.
При заходе на сайт в плагине я устанавливаю куку с временем и потом вешаю таймер обратного отсчет (типо скидка новым покупателям)
Вот так
Заметил, если человек в первый раз заходит на главную или корзину или вообще хоть куда, то все нормально,
а если он в первый раз зашел в каталог или товар (minishop2), а при переходе на другие страницы не связанные каталогом и товаром, то у меня появляется 2 куки.
Одна на каталоге и у товаров
Другая на текстовых страницах.
Причем потестил на разных сайтах. В чем может быть проблема?
Столкнулся с такой проблемой.
При заходе на сайт в плагине я устанавливаю куку с временем и потом вешаю таймер обратного отсчет (типо скидка новым покупателям)
Вот так
if($_COOKIE['timer'] != '1') {
setcookie("timer","1", time()+36000000);
setcookie("timer_date",date("Y-m-d H:i:s") , time()+36000000);
}
Потом делаю определенные манипуляции и все работает. НО! Заметил, если человек в первый раз заходит на главную или корзину или вообще хоть куда, то все нормально,
а если он в первый раз зашел в каталог или товар (minishop2), а при переходе на другие страницы не связанные каталогом и товаром, то у меня появляется 2 куки.
Одна на каталоге и у товаров
Другая на текстовых страницах.
Причем потестил на разных сайтах. В чем может быть проблема?
Комментарии: 3
Сделал через SESSION. Я понимаю, что сесси хранятся в куки у MODX, но мне все равно интересно как решить такую проблему. И почему она возникает.
Может path влияет
www.php.net/manual/ru/function.setcookie.php
www.php.net/manual/ru/function.setcookie.php
path
Путь к директории на сервере, из которой будут доступны cookie. Если задать '/', cookie будут доступны во всем домене domain. Если задать '/foo/', cookie будут доступны только из директории /foo/ и всех ее поддиректорий (например, /foo/bar/) домена domain. По умолчанию значением является текущая директория, в которой cookie устанавливается.
Впервые столкнулся с куки. Ранее не пробовал даже вникнуть в них. (
Первое, что пришло в голову после того, как хром с версией PHP 7.3 включил атрибут в куки `SameSite=None` and `Secure` or `SameSite=Lax`, так это добавить в $head элемент разметки
Возможно, кто-то уже сталкивался с кукисами. Подскажите, как сделать сниппет [[!getCookie]] и [[!setCookie]]. И как пользоваться ими, для того чтобы предупреждения в консоле пропали о межсайтовых ресурсах <url>?
UPD: Чтобы не плодить кучу топиков ещё ссылка MODX session и cookie — помогите разобраться (https://modx.pro/help/8159)
Первое, что пришло в голову после того, как хром с версией PHP 7.3 включил атрибут в куки `SameSite=None` and `Secure` or `SameSite=Lax`, так это добавить в $head элемент разметки
<meta http-equiv="set-cookie" content="name=yandex_login;lang=ru;expires=[[!+nowdate:default=`now`:strtotime:mpy=`1.002`:date=`%a, %e %b %Y %T`]] GMT;domain=.yandex.ru;path=/;SameSite=None;Secure" />
Но консоль не убрала предупреждений, а наоборот сообщила об ошибке.Читал про это тут и тут, но решение получить куки сниппетом или исходя из этого решения — проблему решить не удалось. Знаю только, что некоторые из них есть в Инструментах разработчика «Applications > Cookies (Storage)Blocked setting the `name=yandex_login;lang=ru;expires= GMT;domain=.yandex.ru;path=/;SameSite=None;Secure` cookie from a `<meta>` tag.
Возможно, кто-то уже сталкивался с кукисами. Подскажите, как сделать сниппет [[!getCookie]] и [[!setCookie]]. И как пользоваться ими, для того чтобы предупреждения в консоле пропали о межсайтовых ресурсах <url>?
UPD: Чтобы не плодить кучу топиков ещё ссылка MODX session и cookie — помогите разобраться (https://modx.pro/help/8159)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.