Пожалуйста, сделайте резервные копии перед внесением изменений.
Правки будут вноситься всего в 2 файла:
/engine/modules/function.php
/engine/init.php
Создать различные шаблоны для различных устройств
Cтандартный (указанный в админке) - Компьютеры/Ноутбуки/Нетбуки(на WindowsNT)
tabletpc - Планшеты (Android/IOS/WindowsPhone)(втч Galaxy Note) / Нетбуки(Android/WindowsCE)
smartphone - Смартфоны
mobphone - Телефоны на J2ME
В файл /engine/modules/function.php:
В конце файла, перед:
?>
Вставить:
// MobTPL fix
function check_device() {
if(!empty($_GET['mobtpl'])){
if($_GET['mobtpl']=='phone'){ $_SESSION['mobtpl']='phone'; return 'phone';}
else if($_GET['mobtpl']=='smart'){ $_SESSION['mobtpl']='smart'; return 'smart';}
else if($_GET['mobtpl']=='tablet'){ $_SESSION['mobtpl']='tablet'; return 'tablet';}
else if($_GET['mobtpl']=='pc'){ $_SESSION['mobtpl']='pc'; return 'pc';}
else if($_GET['mobtpl']=='reset'){ unset($_SESSION['mobtpl']);}
}else{
if(!empty($_SESSION['mobtpl'])){
if($_SESSION['mobtpl']=='phone') return 'phone';
else if($_SESSION['mobtpl']=='smart') return 'smart';
else if($_SESSION['mobtpl']=='tablet') return 'tablet';
else if($_SESSION['mobtpl']=='pc') return 'pc';
}
}
$device_array = array(
'ip.*opera\smini'=>'smart', // Opera Mini для I-устройств
'android.*gt\-s'=>'smart', // Android Samsung Galaxy S gt-sXXXX (смартфон)
'android.*gt\-n'=>'tablet', // Android Samsung Galaxy Note gt-nXXXX (минипланшет)
'android.*gt\-p'=>'tablet', // Android Samsung Galaxy Tab gt-pXXXX (планшет)
// тут необходимо добавить тесты на других планшетах под андроид: HTC, VSonic, Китайцы
'android'=>'smart', // всех остальных андроидов относим к смартам
'pocket'=>'smart', // HP
'palm'=>'smart', // Palm/HP
'webos'=>'smart', // Palm/HP WebOS
'fennec'=>'smart', // Mobile Firefox
'windows\s?ce'=>'tablet', //'windowsce'=>'smart', // навигаторы и китайские устройства на windows ce
'mobile\swindows'=>'smart', // Смартфоны на Windows Mobile
'wp7'=>'smart', // Windows Phone 7
'wp8'=>'smart', // Windows Phone 8 (необходимы доп тесты на пленшете под windows phone)
'cellphone'=>'phone',
'opera\s?mobi'=>'smart', //'operamobi'=>'phone', // Opera Mobile
'opera\smini'=>'phone', // Opera Mini
'iphone'=>'smart', // Apple IPhone
'ipod'=>'smart', // Apple IPod Toch
'ipad'=>'tablet', // Apple IPad
'sharp'=>'phone',
'symbian'=>'smart',
'symbos'=>'smart',
'htc\_'=>'smart',
'sonyericsson'=>'phone',
'nokia'=>'phone',
'samsung'=>'phone',
'motorola'=>'phone',
'blackberry'=>'smart', // смартфон Blackberry
'playstation\sportable'=>'smart', // Sony PSP
'rim\stablet'=>'tablet', // планшет Blackberry
'small'=>'smart',
'tablet\sbrowser'=>'tablet',
'smartphone'=>'smart',
'touch'=>'tablet',
'tablet'=>'tablet'
// боты поисковые
// Scooter Ask Jeeves fast googlebot slurp lycos Simple Yandex Stack aport111
);
$agent = strtolower( $_SERVER['HTTP_USER_AGENT'] );
$rtrn='pc';
foreach ($device_array as $key => $value){
$pattern="/".$key."/ix"; //echo $key.'';
if(preg_match($pattern,$agent,$find)){ $rtrn=$value; break;}
}
return $rtrn;
}
// .MobTPL fix
В файле /engine/init.php
Вместо:
if ( ($config['allow_smartphone'] AND !$_SESSION['mobile_disable'] AND $tpl->smartphone) OR $_SESSION['mobile_enable'] ) {
if ( @is_dir ( ROOT_DIR . '/templates/smartphone' ) ) {
$config['skin'] = "smartphone";
$smartphone_detected = true;
$config['allow_comments_wysiwyg'] = 0;
}
}
Вставить:
// MobTPL fix
if ( $config['allow_smartphone'] ) {
$smartphone_detected = $_SESSION['mobile_disable'] = $_SESSION['mobile_enable'] = false;
$device=check_device();
if ( $device == 'tablet' && @is_dir ( ROOT_DIR . '/templates/tabletpc' ) ) {
$config['skin'] = "tabletpc";
$smartphone_detected = true;
$config['allow_comments_wysiwyg'] = 0;
}elseif ( $device == 'phone' && @is_dir ( ROOT_DIR . '/templates/mobphone' ) ) {
$config['skin'] = "mobphone";
$smartphone_detected = true;
$config['allow_comments_wysiwyg'] = 0;
} elseif ( $device == 'smart' && @is_dir ( ROOT_DIR . '/templates/smartphone' ) ) {
$config['skin'] = "smartphone";
$smartphone_detected = true;
$config['allow_comments_wysiwyg'] = 0;
}
}
// .MobTPL fix
При необходимости, добавить ссылки на жесткое переключение типов шаблонов для пользователя.
Внимание!!!
После переключения тип устройства будет игнорироваться
<a href="/index.php?mobtpl=pc" title="Включить стандартный шаблон">ПК</a>
<a href="/index.php?mobtpl=phone" title="Включить шаблон для мобильных телефонов">Телефон</a>
<a href="/index.php?mobtpl=smart" title="Включить шаблон для смартфонов и наладонников">Смартфон</a>
<a href="/index.php?mobtpl=tablet" title="Включить шаблон для планшетов">Планшет</a>
<a href="/index.php?mobtpl=reset" title="Сбросить настройки шаблонов">Сбросить</a>
Пожалуйста, сделайте резервные копии перед внесением изменений.
Правки будут вноситься всего в 3 файла:
/engine/modules/function.php
/engine/init.php
/engine/classes/templates.class.php
Создать различные шаблоны для различных устройств
Cтандартный (указанный в админке) - Компьютеры/Ноутбуки/Нетбуки(на WindowsNT)
tabletpc - Планшеты (Android/IOS/WindowsPhone)(втч Galaxy Note) / Нетбуки(Android/WindowsCE)
smartphone - Смартфоны
mobphone - Телефоны на J2ME
В файл /engine/modules/function.php:
В конце файла, перед:
?>
Вставить:
// MobTPL fix mobiledetect.net
function check_device_std() {
global $tpl;
if(!empty($_GET['mobtpl'])){
if($_GET['mobtpl']=='phone'){ $_SESSION['mobtpl']='phone'; return 'phone';}
else if($_GET['mobtpl']=='smart'){ $_SESSION['mobtpl']='smart'; return 'smart';}
else if($_GET['mobtpl']=='tablet'){ $_SESSION['mobtpl']='tablet'; return 'tablet';}
else if($_GET['mobtpl']=='pc'){ $_SESSION['mobtpl']='pc'; return 'pc';}
else if($_GET['mobtpl']=='reset'){ unset($_SESSION['mobtpl']);}
}else{
if(!empty($_SESSION['mobtpl'])){
if($_SESSION['mobtpl']=='phone') return 'phone';
else if($_SESSION['mobtpl']=='smart') return 'smart';
else if($_SESSION['mobtpl']=='tablet') return 'tablet';
else if($_SESSION['mobtpl']=='pc') return 'pc';
}
}
if ( $tpl->tablet ) return 'tablet';
if ( $tpl->phone ) return 'phone';
if ( $tpl->smartphone ) return 'smart';
}
// .MobTPL fix mobiledetect.net
В файле /engine/init.php
Вместо:
if ( ($config['allow_smartphone'] AND !$_SESSION['mobile_disable'] AND $tpl->smartphone) OR $_SESSION['mobile_enable'] ) {
if ( @is_dir ( ROOT_DIR . '/templates/smartphone' ) ) {
$config['skin'] = "smartphone";
$smartphone_detected = true;
$config['allow_comments_wysiwyg'] = 0;
}
}
Вставить:
// MobTPL fix mobiledetect.net
if ( $config['allow_smartphone'] ) {
$smartphone_detected = $_SESSION['mobile_disable'] = $_SESSION['mobile_enable'] = false;
$device=check_device_std();
if ( $device == 'tablet' && @is_dir ( ROOT_DIR . '/templates/tabletpc' ) ) {
$config['skin'] = "tabletpc";
$smartphone_detected = true;
$config['allow_comments_wysiwyg'] = 0;
}elseif ( $device == 'phone' && @is_dir ( ROOT_DIR . '/templates/mobphone' ) ) {
$config['skin'] = "mobphone";
$smartphone_detected = true;
$config['allow_comments_wysiwyg'] = 0;
} elseif ( $device == 'smart' && @is_dir ( ROOT_DIR . '/templates/smartphone' ) ) {
$config['skin'] = "smartphone";
$smartphone_detected = true;
$config['allow_comments_wysiwyg'] = 0;
}
}
// .MobTPL fix mobiledetect.net
В файле /engine/classes/templates.class.php
Вместо:
if ( $mobile_detect->isMobile() ) {
$this->smartphone = true;
$this->desktop = false;
}
if ( $mobile_detect->isTablet() ) {
$this->smartphone = false;
$this->desktop = false;
$this->tablet = true;
}
Вставить:
// MobTPL fix mobiledetect.net
if ( $mobile_detect->isTablet() ) {
$this->tablet = true;
} elseif ( $mobile_detect->isMobile() ) {
if($mobile_detect->mobileGrade() == 'C') $this->phone = true;
else $this->smartphone = true;
} else $this->desktop = true;
// .MobTPL fix mobiledetect.net
Найти:
var $tablet = false;
После нее вставить:
var $phone = false;
При необходимости, добавить ссылки на жесткое переключение типов шаблонов для пользователя.
Внимание!!!
После переключения тип устройства будет игнорироваться
<a href="/index.php?mobtpl=pc" title="Включить стандартный шаблон">ПК</a>
<a href="/index.php?mobtpl=phone" title="Включить шаблон для мобильных телефонов">Телефон</a>
<a href="/index.php?mobtpl=smart" title="Включить шаблон для смартфонов и наладонников">Смартфон</a>
<a href="/index.php?mobtpl=tablet" title="Включить шаблон для планшетов">Планшет</a>
<a href="/index.php?mobtpl=reset" title="Сбросить настройки шаблонов">Сбросить</a>
UNITE Gallery - модуль генерации галереи картинок из допполей (Плагин для DLE 13 и выше) Данный модуль подключает в шаблон сайта JS плагин unitegallery В комплекте идет инструкция по настройке и...
Один из самых полезных модулей для DLE от Pafnuty завернутый нашей студией в инсталлятор для установки через систему плагинов для DLE 13 и выше. В комплекте так же страница с тегами модуля....
Исправление для DLE 15.1 Еще один плагин генерации AMP страниц для DLE, теперь на основе версии для печати. Перед тем как устанавливать плагин, сделайте резервную копию файла {THEME}/print.tpl...
Веб-студия TCSE представляет свою новую работу разработка полноценного интернет-магазина на платформе webasyst shop script. Запуск интернет-магазина это не просто наполнение сайта товарами и ожидание...
Добавлена совместимость с DLE 15.0 Специальная версия бесплатного плагина AMTS с адмикой для удобной работы с выбором шаблонов для различный мобильных устройств. Плагин AMTS Pro by TCSE это еще один...
Хак предназначен для версии DLE 13 (это обновление старой версии для DLE 10.3) Добавляет возможность ручной установки "рейтинга" для новостей (в диапазоне от 1 до 999). После указания необходимого...
instant articles для Facebook в формате RSS Очень специфический плагин, предназначенный для облегчения работы smm специалистов по публикации новостей сайта в социальной сети Фейсбук....
Представляем вашему вниманию шаблон для CMS DLE - специально адаптированный для отображения контента на планшетных компьютерах Apple iPad Основные моменты: - верстка html5 - метатеги для iOS...
Редизайн сайта для официального дилера peugeot в Санкт-Петербурге, компании Аларм-Моторс. Первая работа нашей студии на основе фреймворка Bootstrap 5...
Компания "ПРОФСКАН" - это команда профессионалов, имеющая за своими плечами многолетний опыт совместной работы в области обмерных работ. Мы давно и качественно предоставляем для клиентов свои услуги:...