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

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

По ссылке, которую обязательно откроет пользователь нового дизайна, необходимо сохранить в куках факт посещения нового дизайна (я прописал просто в 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'.

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

Количество показов: 0
30.06.2021

Возврат к списку

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

Разработка сайта

Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...

Сопровождение сайта

Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение

Работы по сайту

Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.