Мобильная версия сайта
Мобильная версия сайта
Доброго времени суток. Подскажите, как организовать мобильную версию сайта в плане архитектуры? Должен быть какой-то скрипт, определяющий тип устройства. Затем, если это мобильник, должен быть переход на поддомен типа m.domain.ru. Он должен быть отдельным модулем? Если да, то получается все контроллеры и модели для мобильной версии нужно повторять, как для основной?
Re: Мобильная версия сайта
Здравствуйте. Для определени на стороне клиента есть множество js библиотек, а на серверной прийдётся определять исходя из заголовков.
Re: Мобильная версия сайта
Большое спасибо за ответ. Тесты конечно это круто, но я пока еще с ними не знаком, поэтому статью не осилил. А нет "рецепта приготовления" без тестов?
Re: Мобильная версия сайта
Спасибо. Нашел такую штуку http://www.yiiframework.com/extension/y ... ile-detect.
Но не совсем понял, как сделать так, чтобы при помощи данного расширения автоматом подгружалась нужная версия приложения? И по поводу разделения версий, мобильная должна быть отдельным модулем или темой?
Re: Мобильная версия сайта
Не знаю как там с данным модулем, но по ходу он использует эту библиотеку. Я её использовал для сайтов на joomla, и делал следующим образом:Alex21 писал(а): ↑2017.04.11, 06:12 Спасибо. Нашел такую штуку http://www.yiiframework.com/extension/y ... ile-detect.
Но не совсем понял, как сделать так, чтобы при помощи данного расширения автоматом подгружалась нужная версия приложения? И по поводу разделения версий, мобильная должна быть отдельным модулем или темой?
1. Вызывал её прямо из шаблона
2. Проверял на мобильность
3. Инклюдил нужный контентный файл
То есть, в привязке к шаблонам Yii можно делать так же, и без этого модуля, просто определяем что за устройство, и вместо стандартной верстки меж тегов body:
Код: Выделить всё
<div class="wrap">
...
<div class="container">
...
<?= $content ?>
</div>
...
</div>
В общем, дело вкуса, но по мне, в одном шаблоне удобней.
Re: Мобильная версия сайта
1. alexandernst/yii2-device-detect или похожая библиотека, или сами парсите юзерагента для определения дектоп или нет
2. Создаете отдельную тему для мобильного
3. В бутстрапе приложения определяете, дектоп или нет, и, в зависимости от этого подключаете необходимую тему
2. Создаете отдельную тему для мобильного
3. В бутстрапе приложения определяете, дектоп или нет, и, в зависимости от этого подключаете необходимую тему
Re: Мобильная версия сайта
Ну и, знаю что плохо, но не вижу особого смысла выносить одну строчку куда то ещё. Будь там нужна сложная логика, тогда да, а так - инклюд иф мобиле ? мобильный файл : дефолт ;Логика в шаблоне плохо. Шаблон для вывода и только
Не нравится так, то я уже писал, можно в конфиге проверить и подставить отдельный мобильный шаблон, ну или в контролерах задавать, дело вкуса. Я вообще в шаблоне джумлы так делал, так как там такое проще через него, чем создавать отдельные плагины под одну-другую строчку кода.
Re: Мобильная версия сайта
Было много обсуждений на Серче (searchengines.guru), пришли к выводу, что лучше использовать адаптивную верстку, на том же Bootstrap.
Конечно, если у Вас не 200к+ посетителей в день и надо держать нагрузку, тогда можно и m.версию.
Конечно, если у Вас не 200к+ посетителей в день и надо держать нагрузку, тогда можно и m.версию.
Re: Мобильная версия сайта
написать в конфиге приложения условие, или в шаблоне. А если заказчик решит переписать шаблон на шаблонизатор? Что будешь делать?SergV писал(а): ↑2017.04.11, 11:36Ну и, знаю что плохо, но не вижу особого смысла выносить одну строчку куда то ещё. Будь там нужна сложная логика, тогда да, а так - инклюд иф мобиле ? мобильный файл : дефолт ;Логика в шаблоне плохо. Шаблон для вывода и только
Не нравится так, то я уже писал, можно в конфиге проверить и подставить отдельный мобильный шаблон, ну или в контролерах задавать, дело вкуса. Я вообще в шаблоне джумлы так делал, так как там такое проще через него, чем создавать отдельные плагины под одну-другую строчку кода.
Re: Мобильная версия сайта
Зависит от конкретной ситуации и архитектуры приложения. Скажем в дектоп версии есть сотня действий, когда для мобильного приложения достаточно нескольких, не прятать же всё ненужное
Re: Мобильная версия сайта
Не чего делать не буду, пхп и так шаблонизатор, зачем ещё какие то шаблонизаторы внедрять, это зло. Ток злые программисты преподносит шаблонизаторы как упрощение жизни верстальщика, а верстальщику потом нужно изучать ещё кроме пыха и кучу шаблонизаторов.
А если серьёзно, то в чём собственно проблема, заменить одну пхп строчку с инклюдом, на строчку шаблонизатора. Надо будет заказчику шаблонизатор, ну так или иначе придётся кучу чего переделывать, и одна строчка тут роли не сыграет.
Re: Мобильная версия сайта
Мне казалось, мобильные версии сайтов на поддоменах - пережиток прошлого...
Re: Мобильная версия сайта
Я честно говоря тоже за адаптивную версию. Но если не получится переубедить заказчицу, придется делать мобильную. Причем я адаптивную делал только на Bootstrap, а у нее уже будет готовый дизайн, нарисованный не под него. Выходит, если адаптив, то его ручками как-то делать придется.
Спасибо большое всем за ответы.
Re: Мобильная версия сайта
Если заказчик просит отдельную pda-версию, вам поможет сервисный слой. Контроллеры и представления у сайтов будут разные, а сервисный слой один и тот же. Если попробуете смешивать контроллеры или делать такое через темы - упрётесь в неподдерживаемую лапшичку со временем. Лучше разделите их - как два разных клиента пусть будут.
Re: Мобильная версия сайта
Кстати, было бы интересно посмотреть хотя бы общуюю структуру папок для такого вариантаrugabarbo писал(а): ↑2017.04.11, 16:37 Если заказчик просит отдельную pda-версию, вам поможет сервисный слой. Контроллеры и представления у сайтов будут разные, а сервисный слой один и тот же. Если попробуете смешивать контроллеры или делать такое через темы - упрётесь в неподдерживаемую лапшичку со временем. Лучше разделите их - как два разных клиента пусть будут.
Re: Мобильная версия сайта
В advanced-шаблоне есть frontend и backend. Здесь будет третья папка mobile. Сервисный слой в common. Ничего интересного (: