у меня есть на сайте блок с видео, который запускается автоматом, я делаю адаптивность(media) и скрываю этот блок(display: none;) из виду, но он все равно прогружается, как запретить GET запрос на этот файл или отключить из вывода блок в друпале для мобильных устройств?
Пробовал модуль browscap_block, но он не работает и выдает ошибки типа:
Notice: Undefined index: ismobiledevice в функции browscap_block_block_list_alter() (строка 78 в файле /home/rsah/server/mysite.zz/sites/all/modules/contrib/browscap_block/browscap_block.module).
Комментарии
если эта ошибка вас останавливает тогда зайдите с другой стороны:
mobile detect + extended block visibility
В большинстве случаев предпочитаю отталкиваться от разрешения, а не от устройства.
Помогут
https://www.drupal.org/project/context_block_disable + https://www.drupal.org/project/context_breakpoint
Можно попробовать обойтись без context_block_disable, вместо выключения блока, когда он не нужен его можно включить, когда он нужен.
интересно, как это будет работать на закешированной версии сайта?
Не будет, я столкнулся с этим. Я увидел 2 подхода: отключать кеш для неосновных версий или писать свою систему кеширования (отдельно для каждой из версий)
отключать кэш для заведомо менее мощных устройств с заведомо более медленным трафиком не выглядит разумным решением. Хотя как вариант, можно отключить кэш только для скрываемых блоков.
Согласен. Тогда отключать кеш для мощных устройств - для основной версии, как-то ведь нужно разделить показ для анонимов. Самое интересное начинается, когда на сайте три разных темы )) Может быть, существует еще подходы, кроме названных мной выше.
Отключать кэш для просмотра с ПК - это уже плохо для сервера, т.к. большинство трафика пойдёт мимо кэша.
Тогда, получается, отключать кеш нельзя. Но и оставлять включенным тоже. Первый подход не работает. Остается делать отдельные кеши для каждой темы. Теоретически, для двух тем количество записей в таблице кеша удвоится, что тоже нехорошо.У меня один сайт работает именно по такой схеме, пока проблем не наблюдаю, но тревожно
а чем не устраивает вариант не кешировать отдельный блок? Ну и кстати, всегда есть вариант для слабаков - js-костыли. Например, детачить блок на малом разрешении.
Да, с блоком можно так поступить, наверное. Просто, сегодня блок другой для мобильного, завтра - пейджер, потом - главную страницу и так докатимся до отдельной мобильной темы.
Имеется ввиду встроенные в Drupal методы кеширования?
css media query или грузить блоки через аякс
других варинтов на уровне друпала нет