Здравствуйте, собственно вопрос в названии)) Все мы знаем, что в модуле Panels есть варианты вывода определенных панелей в зависимости от условий. Я хочу чтобы при разрешении экрана например меньше 1024 отображался другой вариант панели, там есть проверка по php, к сожалению я в нем не силён от слова совсем, может кто-нибудь подсказать что туда вписать или альтернативу для этих целей. Так же интересует аналогичная проверка для браузера, чтоб в IE всех версий (включая Edge для win10) так же выводился другой вариант.
Спасибо
Php проверка размера экрана(и браузера) в panels
Главные вкладки
Лучший ответ
1
Комментарии
https://www.drupal.org/project/context_breakpoint не?
Может тогда это
https://www.drupal.org/project/breakpoint_panels
а вообще я не фанат Panels. Алексей проснется и ответит.
ну возможно, но у меня уже есть панельная страница с регионами, хочется чтоб выводился другой вариант этих регионов, а в модуле уже вроде как встроена проверка по пшп, я подумал, может туда вписать что?
https://www.drupal.org/project/mobile_switch_panels
Ну да, в принципе делает, то что надо, Спасибо больше!
А для проверки браузера не знаете аналогичного?)
https://www.drupal.org/project/browscap
Сложный код что-ли получается для проверки размера и браузера, раз нужно посторонние модули ставить?
Конечно сложный. Пхп выполняется на сервере, а экран у юзера.
Ладно, я понял, спасибо)
ТС.
Пожалуйста разберитесь с постановленной задачей.
Попробуйте получить общее представление работы и разработки сайтов. Серверное и клиентское приложение и в будущем у вас не будет проблем.
Ну ладно... просто я думал, раз в самом модуле есть проверка по пшп, то туда можно вставить че-нить типа как в ксс @media, только пшп кодом
Ну ок. Вот допустим, вы - вебсервер.
Вам приходит вот такой запрос:
Host: drupal.ru
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/61.0.3163.100 Chrome/61.0.3163.100 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: ru,en;q=0.8
Ось и браузер вы ещё сможете угадать, с верояностью 50х50.
Откуда возьмете разрешение экрана?
Есть библиотека http://mobiledetect.net/
Есть модуль https://www.drupal.org/project/mobile_detect
И как добиться такого результата на пенелях не в курсе.(Сторонник ХардКорКоддинга)
Как вариант для, облегчения так сказать, лучше разобраться в мультисайтинге и редиректить на мобильную версию сайта, как реализована в ВК, ламода и еще где то там.
У кого какие предложения? Хотелось бы услышать предложения от "мистера Хауса" и "мистера Куска оружия"(Не серчай gun-dose) и конечно же остальных
А ты посмотри в эту библиотеку - идёт тупо перебор всех заголовков и юзер-агентов и сопоставление их. Логики - минимум, но обрабатываемый объём данных (модели, ОС, браузеры) - большой.
Ещё есть вариант с JS+Cookie+PHP ))
1. Пишем на JS опрос клиента какое разрешение экрана и браузер, помещаем это в массив(или в переменные).
2. Далее помещаем это всё в куки(Cookie).
3. После всего проделанного с помощью PHP достаём из Cookie наш массив, проверяем и убеждаемся что всё ок,
и далее делаем манипуляции с панелями.
А чем различаются варианты для разных размеров и браузеров? Если на мобиле меньше контента, то можно этот минимум грузить сразу, затем через js определять размер окна и догружать нужное аяксом. Для интернет-эксплорера можно написать отдельный стиль, который будет срабатывать при наличии нужного класса в body, а сам этот класс вешать джаваскриптом.
Всем спасибо, mobile_switch_panels решил мои проблемы