1С-Битрикс: Подключаем мобильную версию сайта и версию для слабовидящих
- 18 октября, 2022
- 3:45 пп
- Нет комментариев
В /bitrix/php_interface создаем файл, если его нет init.php
в него ставим код:
if (isset ($_GET['type'])){
switch ($_GET['type']) {
case 'pda':
setcookie('siteType', 'pda', time()+3600*24*30,'/');
define('siteType','pda');
break;
case 'special':
setcookie('siteType', 'special', time()+3600*24*30,'/');
define('siteType','special');
break;
default:
setcookie('siteType', 'original', time()+3600*24*30,'/');
define('siteType','original');
}
}
else{
$checkType='';
if (isset($_COOKIE['siteType'])) $checkType=$_COOKIE['siteType'];
switch ($checkType) {
case 'pda':
define('siteType','pda');
break;
case 'special':
define('siteType','special');
break;
default:
define('siteType','');
}
}
В header.php полного шаблона ТОЛЬКО для МОБИЛЬНОЙ версии сайта ставим авторедирект для устройств:
$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");
$mobile = strpos($_SERVER['HTTP_USER_AGENT'],"Mobile");
$symb = strpos($_SERVER['HTTP_USER_AGENT'],"Symbian");
$operam = strpos($_SERVER['HTTP_USER_AGENT'],"Opera M");
$htc = strpos($_SERVER['HTTP_USER_AGENT'],"HTC_");
$fennec = strpos($_SERVER['HTTP_USER_AGENT'],"Fennec/");
$winphone = strpos($_SERVER['HTTP_USER_AGENT'],"WindowsPhone");
$wp7 = strpos($_SERVER['HTTP_USER_AGENT'],"WP7");
$wp8 = strpos($_SERVER['HTTP_USER_AGENT'],"WP8");
$VISITOR_ID = $APPLICATION->get_cookie("MOBILE_VISITOR_MB");
if (($ipad || $iphone || $android || $palmpre || $ipod || $berry || $mobile || $symb || $operam || $htc || $fennec || $winphone || $wp7 || $wp8) &&
($_SERVER["SERVER_NAME"] == "camouf.ru" || $_SERVER["SERVER_NAME"] == "www.camouf.ru") &&
empty($VISITOR_ID)) {
$APPLICATION->set_cookie("MOBILE_VISITOR_MB", "MOBILE", time()+60*60);
LocalRedirect("http://camouf.ru/?type=pda");
exit();
}
?>
Адреса шаблонов
/?type=special/?type=pda/?type=original
Настройка условий в админке настроек шаблона
Основной шаблон | без условия
Мобильный | выражение PHP | siteType==’pda’
Контрастный | Выражение PHP | siteType==’special’