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

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

p.s. Пойдет ли на версиях ниже 103 не знаю, смотрите сами. В плагине используется event GET_INDEX, а так же cmsCore::getCookie и cmsCore::setCookie.
-1
Алексей Т Алексей Т 10 лет назад #
Pasha спасибо попробуем в деле
+1
Олег с клещами Олег с клещами 10 лет назад #
Спасибо! Полезная штука.
0
reload reload 10 лет назад #
Pasha:
Правда помимо этого Mobile Detect может отдавать еще целый ворох информации, но что с ней делать на практике я так и не придумал

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

зы: еще вариант "быстрого" решения по определению устройства предложил stealthdebuger, может кому пригодиться..
0
Александр Александр 10 лет назад #
как эту замечательную штуку можно применить для того, что б переключал между двумя шаблонами, например кто зашел с ПК стандартный(_default_) , а кто с мобильного телефона adattive например zst
+1
Pasha Pasha 10 лет назад #
Да сотни способов на самом деле, все ведь зависит от конкретных целей. Например можно все что нужно делать прямо в 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 файлах......
0
WALTERZ WALTERZ 10 лет назад #
Архив не смотрел, но после определения устройства:
Код PHP:
  1. $_SESSION['template'] = 'шаблон';
0
Fuze Fuze 10 лет назад #
WAERZ, так не годится, т.к. ядро инициализируется до вызова эвента GET_INDEX.
+1
Pasha Pasha 10 лет назад #
А при чем тут $_SESSION['template'] и ее содержимое? Я использовал $_SESSION['device_type']..... Пересеклось с чем-то вашим? Ну измените device_type на что-то свое.....

Еще от автора

Случайный аватар при регистации
Навеяно темой про аватары😊Плагин предназначен для версии 1.10.
Виджет "Хронограф"
Легкое приложение позволяющее создавать и выводить календарь памятных дат или любых иных событий. ЧАВО: 1.
Поле "Прикрепленный опрос"
Позволяет прикреплять к любому типу контента опрос или голосование, называйте это как хотите.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.