С распостранением мобильных устройств стало актуальным создание мобильной версии сайта. От обычной она отличается более усеченным функционалом. Как правило, такая версия имеет одну колонку, большие кнопки для удобного попадания пальцем и более крупный шрифт: могут быть другие особенности.
Для мобильной версии создается отдельная тема, которая тестируется при помощи модуля theme_key. В модуле делается настройка для определенного аккаунта (например, develop) входить в мобильную версию с обычного компьютера. После создания мобильной темы, делается переключение на мобильную для определенных устройств. Используется модуль mobile_detect и библиотека Mobile_Detect.php . Как правило, производится выбор темы для устройств Tablet (планшет) и Mobile . В терминах библиотеки Mobile_Detect, мобильные устройства включают в себя как смартфоны, так и планшеты, поэтому, сначала обговаривается тема для планшета, затем - для остальных мобильных устройств.
Если, кроме автоматического переключения на нужную тему в зависимости от устройства, требуется и ручное переключение - применяется модуль switchtheme . Модуль нами переработан:
При использовании кеширования для анонимных пользователей, возникают новые проблемы. Так как в Друпале кеш не зависит от темы и в базе данных хранится один экземпляр для каждой страницы, то может возникнуть ситуация, когда пользователи полной версии видят мобильный вариант, и наоборот. Решение найдено в виде разделения кеша для типов устройств: Desktop(обычный кеш), Tablet(кеш для планшетов), Mobile(кеш для прочих мобильных устройств). Реализация такого кеша в подмодуле mobile_detect_caching .