Разработчикам шаблонов и просто экспериментаторам...

1496
В архиве легкий плагин основанный на классе "Mobile Detect" версии 2.8.3. Соответственно вся полезность плагина заключается в определении устройства с которого пользователь зашел на сайт и как следствие возврат константы DEVICE_TYPE с одним из трех значений - mobile, tablet или desktop. Правда помимо этого Mobile Detect может отдавать еще целый ворох информации, но что с ней делать на практике я так и не придумал, поэтому включено только то, что перечислено выше. А чтобы не дергать класс при каждом обновлении странички результат сохраняется в куках и сессии. Это все. Как использовать константы вам как разработчикам должно быть известно и без меня.

p.s. Пойдет ли на версиях ниже 103 не знаю, смотрите сами. В плагине используется event GET_INDEX, а так же cmsCore::getCookie и cmsCore::setCookie.
Минименю на аватарках. (1.10.3 и старше) | Плагин "Метки на форуме"
Комментарии (8)
Алексей Тимофеев 18 сентября 2014 в 13:11 -1
Pasha спасибо попробуем в деле
Олег с клещами 18 сентября 2014 в 14:43 +1
Спасибо! Полезная штука.
reload 18 сентября 2014 в 17:14 0
Pasha:
Правда помимо этого Mobile Detect может отдавать еще целый ворох информации, но что с ней делать на практике я так и не придумал

Например можно показывать специальную рекламу для разных устройств, конверсия становится выше...
То есть можно применить для модуля/плагина/компонента "реклама"

зы: еще вариант "быстрого" решения по определению устройства предложил stealthdebuger, может кому пригодиться..
Александр 19 сентября 2014 в 00:25 0
как эту замечательную штуку можно применить для того, что б переключал между двумя шаблонами, например кто зашел с ПК стандартный(_default_) , а кто с мобильного телефона adattive например zst
Pasha 19 сентября 2014 в 08:31 +1
Да сотни способов на самом деле, все ведь зависит от конкретных целей. Например можно все что нужно делать прямо в template.php, а можно сделать его составным. Основную (общую для всех) часть кода оставить как есть, а дальше подключать куски
Код PHP:
  1. switch(DEVICE_TYPE){
  2. case 'mobile': include часть для mobile; break;
  3. case 'tablet': include часть для tablet; break;
  4. case 'desktop': include часть для desktop; break;
  5. }
Можно вообще не трогать template.php и все манипулиции делать в .tpl файлах......
WALTERZ 20 сентября 2014 в 15:40 0
Архив не смотрел, но после определения устройства:
Код PHP:
  1. $_SESSION['template'] = 'шаблон';
Fuze 20 сентября 2014 в 15:52 0
WAERZ, так не годится, т.к. ядро инициализируется до вызова эвента GET_INDEX.
Pasha 20 сентября 2014 в 15:59 +1
А при чем тут $_SESSION['template'] и ее содержимое? Я использовал $_SESSION['device_type']..... Пересеклось с чем-то вашим? Ну измените device_type на что-то свое.....