@tvorex

Как подключать разные файлы php в зависимости от разрешения браузера?

Здравствуйте. Хочу сделать адаптивный сайт, но с разной версткой и разными картинками для всех устройств. Первым делом нужно определить разрешение браузера пользователя, нашел такое решение
function adjustStyle(width) {
width = parseInt(width);
if (width < 1440) {
$("#size-stylesheet").attr("href", "s_res.css");
} else if ((width >= 1440) && (width < 1680)) {
$("#size-stylesheet").attr("href", "m_res.css");
} else {
$("#size-stylesheet").attr("href", "b_res.css");
}
}

$(function() {
adjustStyle($(this).width());
$(window).resize(function() {
adjustStyle($(this).width());
});
});

Но такой фокус у меня не сработал с php файлами. Подскажите правильно решение моей задачи: "4 вида вёрстки - загружать нужную в зависимости от размера окна браузера"
  • Вопрос задан
  • 5127 просмотров
Пригласить эксперта
Ответы на вопрос 7
@artishok
кратко
Откуда вы вылезли? Буквально на днях был точно такой-же вопрос.
Ответ написан
kirillplatonov
@kirillplatonov
Ruby on Rails developer
Это делается средствами CSS/JS. Но никак не PHP.
Ответ написан
Комментировать
Ели хотите подгружать совершенную другую разметку страницы, то может помочь mobiledetect.
Но он не скажет какое разрешение у пользователя. Он только даст указание на тип устройства с которого просматривают сайт.
Ответ написан
Комментировать
Hakkunamatata
@Hakkunamatata
Зефирный-человек
Если не вдумываться в то, что же вам именно нужно от PHP файлов, то - AJAX для запросов к серверу из JS
Ответ написан
Комментировать
@switlle
Я думаю проблема именно в постановке вопроса. Задача изначально неправильная. Не представляю как потом вносить изменения в логику разных файлов.
Я думаю ваша задача должна сводиться к выполнению ajax запросов с передачей параметров разрешения. А уже в одном файле вести обработку.
А в идеале это вообще от php получать только нужные данные, а всё зависимую от разрешения часть выносить в javascript.
Ответ написан
Комментировать
@tvorex Автор вопроса
Если говорить предметно, то есть вот такой дизайн http://yadi.sk/d/uf-nKDjTDCacA
1.2. экран делится на две части
3. шапка + 2 части
4. весь контент по ширине.

Что бы в CSS не использовать настройки типа display:none хотел пойти от обратного. Определять разрешение окна браузера --> Подключать шаблон Joomla с соответствующей версткой --> в каждом шаблоне будут свои модули со своими CSS настройками.

И проблема заключается в том, что первый файл загружаемый в Joomla - Это index.php
Именно в нём должно определяться (согласен, можно и через js) разрешение окна браузера и загружать соответствующий шаблон дальше, например layouts/tpl-mobile.php

В каком-,то шаблоне я встречал такое, но вот как работает не помню. Вроде что-то такое $this->template->load('template', 'about', $data);
http://jeromejaglale.com/doc/php/codeigniter_template

И ещё. В программирование я не силён! Я дизайнер + верстальщик
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Загрузка Вашего скрипта с передачей POST-AJAX-данных о разрешении на сервер.
2. Выбор нужного шаблона (PHP-код) на стороне сервера и отдача данных в этот AJAX-обработчик.
3. Подмена содержания html "на-лету" на нужный шаблон через ответ от AJAX.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы