Как показывать пользователю при следующих загрузках шаблон сайта по каким-то действиям

Столкнулся я с такой ситуацией: когда при А-Б тестирвоании человек входит на сайт и попадает на новый дизайн. На сайте обработкой заказов занимается колл-центр и после обработки присылают человеку в смс ссылку, по которой человек должен перейти и завершить оформление.
При открытии данной ссылки в другом браузере по алгоритмам А-Б тестов пользователю с большой долей вероятности покажется старый дизайн, вместо нового,
Поэтому, при переходе по такой ссылке, нужно принудительно запоминать, что пользователь уже нового дизайна.

По ссылке, которую обязательно откроет пользователь нового дизайна, необходимо сохранить в куках факт посещения нового дизайна (я прописал просто в header.php нового дизайна - так проще):

$_SESSION['DESIGN'] = 'newDesign';
setcookie('siteDesign', 'newDesign', time()+3600*24*30,'/');

Далее, в init.php добавляем проверку:

if(isset($_SESSION['DESIGN']) && $_SESSION['DESIGN']=='newDesign'){
	setcookie('siteDesign', 'newDesign', time()+3600*24*30,'/');
	define('siteDesign','newDesign');
} elseif (isset($_COOKIE['siteDesign']) && $_COOKIE['siteDesign']=='newDesign'){
	define('siteDesign','newDesign');
} else {
	define('siteDesign','oldDesign');
}

Далее, в настройках сайта устанавливаем новый шаблон в зависимости от значений константы `siteDesign`. Для этого, в условии подключения дизайна выбираем тип условия - "Выражение PHP".  В поле "Условие" пишем: siteDesign=='newDesign'.

Все, в таком формате данных пользователям при повторном входе (например, из письма о регистрации, или письма о подтверждении заказа) уже принудительно будет открываться новый дизайн.

Кількість показів: 400
30.06.2021

Повернення до списку

Если вам была полезна статья можете отблагодарить автора: