Отдельный шаблон для мобильной версии

Всем привет!

Столкнулся с проблемой, нужно прикрутить отдельные шаблоны для мобильной версии сайта.
Есть плагин, который решает эту задачу через теги, но мне это решение не подходит.

Видится решение в виде создания дополнительной привязки мобильного шаблона:
1. Создать дополнительную колонку template_mobile в таблице site_content для хранения идентификатора мобильного шаблона, обновить схему БД.
2. Написать плагин, использующий, допустим jenssegers/agent, для определения типа устройства и в зависимости от типа устройства подключающий нужный шаблон.
3. Добавить плагин для формы в админке, выводящий поле для выбора шаблона мобильной версии.
4. Предусмотреть раздельное кеширование мобильной и десктопной версии.

Кто-нибудь делал что-то подобное, может уже есть похожие решения?
На сколько реально это сможет работать?

Просьба подсказать:
— на какие события нужно вешать плагины?
— как вывести новое поле в форме ресурса в админке?
— как можно реализовать раздельное кеширование?
Марк Львов
01 июня 2016, 18:29
modx.pro
1 980
0

Комментарии: 4

Марк Львов
01 июня 2016, 22:42
0
Вот нашел тут похожее решение, но возник вопрос с TV-параметрами на странице, как они будут работать? Ведь tv-шки привязываются к конкретному шаблону, не понятно будут-ли они корректно выводиться.
    Здоров Александр
    01 июня 2016, 22:55
    +1
    а это не пробовали? MobileDetect
    делал по 1 проекту скрытие больших кусков графического контента и видео, спас данный плагин
      Марк Львов
      01 июня 2016, 23:25
      0
      Видел это решение, но не очень нравится разделение через теги, хочется все-таки хранить шаблоны раздельно.
      Марк Львов
      01 июня 2016, 23:41
      1
      +1
      На сколько отсюда понял для раздельного кеширования достаточно следующего кода:
      switch ($modx->event->name) {
          
          case 'OnWebPageInit':{
      	...
       	$modx->setOption('cache_resource_key', "resource/{$device_type}");
      	...
              break;
      где $device_type — тип устройства
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        4