При помощи данного кода можно сделать своё подобие А\Б тестирования главной страницы. Чтобы не грузить базу запросами будем проверять на “куки” браузера.
<? include($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); if (!isset($_COOKIE['PAGE_NEW'])) { CModule::IncludeModule('iblock'); $IBLOCK_ID = 1; $ELEMENT_ID = 123; $exp_date = time() + 2628000; $PROPERTY_VALUE = 0; $res = CIBlockElement::GetList ( Array("ID" => "ASC"), Array("IBLOCK_ID" => $IBLOCK_ID, "ACTIVE" => "Y", "ID" => $ELEMENT_ID), false, false, Array('ID', "PROPERTY_NEW_MAIN") ); if ($arItem = $res->GetNext()) { $propMainPage = $arItem['PROPERTY_NEW_MAIN_VALUE']; if ($propMainPage != 'Y') { $PROPERTY_VALUE = 21; } setcookie('PAGE_NEW', $PROPERTY_VALUE, $exp_date, '/'); CIBlockElement::SetPropertyValuesEx($ELEMENT_ID, $IBLOCK_ID, array('NEW_MAIN' => $PROPERTY_VALUE)); } } if ($_COOKIE['PAGE_NEW'] == 21 || $PROPERTY_VALUE == 21) { header("Location: /new/", true, 302); } ?>
Куки мы ставим на 1 месяц. Данный вариант работает через инфоблок, его конкретный элемент и его конкретное свойство. Можно придумать свои варианты – либо запись в файл, либо через модуль в админке. Кстати вариант с модулем Битрикса интересен еще и тем, что можно дописать статистику по каждой страницу и смотреть как 50 на 50 заполняются просмотры 🙂
Если у вас есть предложения по коду, прошу в комментарии 🙂