Отдельный шаблон для мобильной версии
Всем привет!
Столкнулся с проблемой, нужно прикрутить отдельные шаблоны для мобильной версии сайта.
Есть плагин, который решает эту задачу через теги, но мне это решение не подходит.
Видится решение в виде создания дополнительной привязки мобильного шаблона:
1. Создать дополнительную колонку template_mobile в таблице site_content для хранения идентификатора мобильного шаблона, обновить схему БД.
2. Написать плагин, использующий, допустим jenssegers/agent, для определения типа устройства и в зависимости от типа устройства подключающий нужный шаблон.
3. Добавить плагин для формы в админке, выводящий поле для выбора шаблона мобильной версии.
4. Предусмотреть раздельное кеширование мобильной и десктопной версии.
Кто-нибудь делал что-то подобное, может уже есть похожие решения?
На сколько реально это сможет работать?
Просьба подсказать:
— на какие события нужно вешать плагины?
— как вывести новое поле в форме ресурса в админке?
— как можно реализовать раздельное кеширование?
Столкнулся с проблемой, нужно прикрутить отдельные шаблоны для мобильной версии сайта.
Есть плагин, который решает эту задачу через теги, но мне это решение не подходит.
Видится решение в виде создания дополнительной привязки мобильного шаблона:
1. Создать дополнительную колонку template_mobile в таблице site_content для хранения идентификатора мобильного шаблона, обновить схему БД.
2. Написать плагин, использующий, допустим jenssegers/agent, для определения типа устройства и в зависимости от типа устройства подключающий нужный шаблон.
3. Добавить плагин для формы в админке, выводящий поле для выбора шаблона мобильной версии.
4. Предусмотреть раздельное кеширование мобильной и десктопной версии.
Кто-нибудь делал что-то подобное, может уже есть похожие решения?
На сколько реально это сможет работать?
Просьба подсказать:
— на какие события нужно вешать плагины?
— как вывести новое поле в форме ресурса в админке?
— как можно реализовать раздельное кеширование?
Комментарии: 4
Вот нашел тут похожее решение, но возник вопрос с TV-параметрами на странице, как они будут работать? Ведь tv-шки привязываются к конкретному шаблону, не понятно будут-ли они корректно выводиться.
а это не пробовали? MobileDetect
делал по 1 проекту скрытие больших кусков графического контента и видео, спас данный плагин
делал по 1 проекту скрытие больших кусков графического контента и видео, спас данный плагин
Видел это решение, но не очень нравится разделение через теги, хочется все-таки хранить шаблоны раздельно.
На сколько отсюда понял для раздельного кеширования достаточно следующего кода:
switch ($modx->event->name) {
case 'OnWebPageInit':{
...
$modx->setOption('cache_resource_key', "resource/{$device_type}");
...
break;
где $device_type — тип устройства
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.