Подключение мобильной версии шаблона Битрикс сайта, с автопереключением

Просмотров: 49348

Предпочитаю, что бы сайт не грузил кучу скриптов и стилей. При загрузке адаптивного шаблона за ним тянется очень много файлов, которые перегружают мобильный трафик, что полностью нивелирует преимущества "легкого" отображения сайта. Решил создать мобильную версию шаблона для битрикс с автоматическим переключением на нужный шаблон.

Важно!
Данная заметка написана в далеком 2015-ом году. Актуальность, на текущий момент времени, сомнительна.

Рассмотрите вариант описанный и озвученный в данном видео (создано и выпущено 25 июня 2024):
Добавление мобильной версии сайта с автопереключением

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

Я сторонник разработки отдельной мобильной версии сайта, точнее отдельного шаблона, который максимально облегчен для загрузки с мобильного интернета. Само собой, все переключения должны быть автоматическими, без участия пользователя.

Мобильная версия сайта для Битрикс

В данном видео расскажу как:

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

Все что потребуется для реализации (как использовать смотрите в видео):

В 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' 

Стоимость разработки на 1С-Битрикс:

Индивидуальная разработка магазина

от 500 000 руб. от 5-ти недель

Разработка магазина на 1С-Битрикс с нуля. Дизайн, сборка и оптимизация производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Запуск сайта на готовом решении

от 100 000 руб. от 7-ми дней

Вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Магазин, быстро запускается на базе одного из 200-та готовых решений.

Мобильное приложение

от 500 000 руб. от 1-го месяца

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Сайт компании

от 350 000 руб. от 1-го месяца

Корпоративный сайт с информационными разделами, каталогом товаров или услуг. Включает формы обратной связи карточек каталога, любое количество статичных и динамичных разделов.

Инфресурс

от 400 000 руб. от 5-ти недель

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

Лечение сайтов от вирусов

от 40 000 руб. от 2-х дней

Выполню полную проверку сайта и окружения. В случае обнаружения вирусов проведу полный комплекс лечения проекта и закрытия лазеек.