Друзья, хочу затронуть очень важную для текущего состояния веба тема - создание мобильных сайтов. Не просто с помощью медиа-запросов css, а с помощью серьёзного детектирования типа устройства на стороне сервера (php скрипты) или на стороне клиента (js скрипты).
Плотный гуглеж 2 дня дал только один результат, и тот для меня не очень хороший - сниппет MobileDetection, который в официальном репозитории (стандартный репозиторий, при установки Modx) отсутсвует. Да и ладно что он отсутствует, последнее его обновление 2011 год. Пробовал я его поставить закинув в core/packages/ - мой Modx Revo 2.3 его не видит никак. Да и плюс его решение мне не очень нравится, мне необходимо 2 полноценных сайта - 1 для мобильных устройств, другой для ПК и ТВ.
Что я для этого сейчас сделал?
В принципе ничего серьёзного. На хостинге сделал алиас домена (чтобы поддомен m.сайт.ru ссылался на директорию сайт.ru), т.е. теперь мобильный поддомен m является зеркалом самого сайта (копию файлов делать не нужно, да и это очень глупо).
Что нужно?
Теперь мне нужно php скриптом определять, с какого устройства заходит человек и заносить это значение в переменную. Если с мобильного заходит на сайт.ru то сверху должна быть фиксированная полоска с большими буквами, мол "Лучше бы Вам перейти на мобильную версию сайта". При переходи с помощью кук запоминаем чтобы этого человека автоматом редиректило на мобильную версию. На мобильной версии сайта будет идти ещё одно условие, если человек находится на поддомене m и он является пользователем мобильного устройства - показывать ему другую разметку (не хочу делать второй шаблон, плодить сущности, лучше в одном шаблоне с помощью сниппета делать проверку, показывать этот блок разметки или нет).
Это все без проблем сделать на самописном сайте (воткнул куда нужно переменную, условия и все работает) но вот в Modx это сделать для меня сложнее, хотя я уверен, что с помощью него это сделать на самом деле проще.
Уважаемые друзья, подскажите решение моей проблемы, как к ModX можно прикрутить Detect Mobile Browsers и WURFL?