Мобильная версия сайта

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Alex21
Сообщения: 39
Зарегистрирован: 2016.11.11, 09:27

Мобильная версия сайта

Сообщение Alex21 »

Доброго времени суток. Подскажите, как организовать мобильную версию сайта в плане архитектуры? Должен быть какой-то скрипт, определяющий тип устройства. Затем, если это мобильник, должен быть переход на поддомен типа m.domain.ru. Он должен быть отдельным модулем? Если да, то получается все контроллеры и модели для мобильной версии нужно повторять, как для основной?
Аватара пользователя
gud3
Сообщения: 23
Зарегистрирован: 2017.03.15, 15:05
Контактная информация:

Re: Мобильная версия сайта

Сообщение gud3 »

Здравствуйте. Для определени на стороне клиента есть множество js библиотек, а на серверной прийдётся определять исходя из заголовков.
Alex21
Сообщения: 39
Зарегистрирован: 2016.11.11, 09:27

Re: Мобильная версия сайта

Сообщение Alex21 »

ElisDN писал(а): 2017.04.10, 08:46 http://www.elisdn.ru/blog/97/tdd-mobile-theme
Большое спасибо за ответ. Тесты конечно это круто, но я пока еще с ними не знаком, поэтому статью не осилил. А нет "рецепта приготовления" без тестов?
Alex21
Сообщения: 39
Зарегистрирован: 2016.11.11, 09:27

Re: Мобильная версия сайта

Сообщение Alex21 »

gud3 писал(а): 2017.04.10, 08:50 Здравствуйте. Для определени на стороне клиента есть множество js библиотек, а на серверной прийдётся определять исходя из заголовков.
Спасибо. Нашел такую штуку http://www.yiiframework.com/extension/y ... ile-detect.
Но не совсем понял, как сделать так, чтобы при помощи данного расширения автоматом подгружалась нужная версия приложения? И по поводу разделения версий, мобильная должна быть отдельным модулем или темой?
SergV
Сообщения: 192
Зарегистрирован: 2012.07.08, 11:27

Re: Мобильная версия сайта

Сообщение SergV »

Alex21 писал(а): 2017.04.11, 06:12 Спасибо. Нашел такую штуку http://www.yiiframework.com/extension/y ... ile-detect.
Но не совсем понял, как сделать так, чтобы при помощи данного расширения автоматом подгружалась нужная версия приложения? И по поводу разделения версий, мобильная должна быть отдельным модулем или темой?
Не знаю как там с данным модулем, но по ходу он использует эту библиотеку. Я её использовал для сайтов на joomla, и делал следующим образом:
1. Вызывал её прямо из шаблона
2. Проверял на мобильность
3. Инклюдил нужный контентный файл
То есть, в привязке к шаблонам Yii можно делать так же, и без этого модуля, просто определяем что за устройство, и вместо стандартной верстки меж тегов body:

Код: Выделить всё

<div class="wrap">
...
<div class="container">
        ...
        <?= $content ?>
    </div>
...
</div>
вставляем инклюд по условию на стандарный или мобильный файл контента, если нужно 100% другую вёрстку. Ну или вообще меняем имя layout c main на main-mobile где нужно, и можно даже проверку сделать на мобильное прямо в начале конфиг файла, и в зависимости от устройства, подставить в конфиг нужное имя шаблона.
В общем, дело вкуса, но по мне, в одном шаблоне удобней.
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Мобильная версия сайта

Сообщение urichalex »

1. alexandernst/yii2-device-detect или похожая библиотека, или сами парсите юзерагента для определения дектоп или нет
2. Создаете отдельную тему для мобильного
3. В бутстрапе приложения определяете, дектоп или нет, и, в зависимости от этого подключаете необходимую тему
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Мобильная версия сайта

Сообщение urichalex »

SergV писал(а): 2017.04.11, 09:07 1. Вызывал её прямо из шаблона
Логика в шаблоне плохо. Шаблон для вывода и только
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Мобильная версия сайта

Сообщение ElisDN »

Alex21 писал(а): 2017.04.11, 06:06 Тесты конечно это круто, но я пока еще с ними не знаком, поэтому статью не осилил. А нет "рецепта приготовления" без тестов?
Пропускаете слова о тестах и получаете "без тестов".
SergV
Сообщения: 192
Зарегистрирован: 2012.07.08, 11:27

Re: Мобильная версия сайта

Сообщение SergV »

Логика в шаблоне плохо. Шаблон для вывода и только
Ну и, знаю что плохо, но не вижу особого смысла выносить одну строчку куда то ещё. Будь там нужна сложная логика, тогда да, а так - инклюд иф мобиле ? мобильный файл : дефолт ; ;)
Не нравится так, то я уже писал, можно в конфиге проверить и подставить отдельный мобильный шаблон, ну или в контролерах задавать, дело вкуса. Я вообще в шаблоне джумлы так делал, так как там такое проще через него, чем создавать отдельные плагины под одну-другую строчку кода.
Аватара пользователя
Йож
Сообщения: 574
Зарегистрирован: 2015.08.26, 03:05

Re: Мобильная версия сайта

Сообщение Йож »

Было много обсуждений на Серче (searchengines.guru), пришли к выводу, что лучше использовать адаптивную верстку, на том же Bootstrap.
Конечно, если у Вас не 200к+ посетителей в день и надо держать нагрузку, тогда можно и m.версию.
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Мобильная версия сайта

Сообщение urichalex »

SergV писал(а): 2017.04.11, 11:36
Логика в шаблоне плохо. Шаблон для вывода и только
Ну и, знаю что плохо, но не вижу особого смысла выносить одну строчку куда то ещё. Будь там нужна сложная логика, тогда да, а так - инклюд иф мобиле ? мобильный файл : дефолт ; ;)
Не нравится так, то я уже писал, можно в конфиге проверить и подставить отдельный мобильный шаблон, ну или в контролерах задавать, дело вкуса. Я вообще в шаблоне джумлы так делал, так как там такое проще через него, чем создавать отдельные плагины под одну-другую строчку кода.
написать в конфиге приложения условие, или в шаблоне. А если заказчик решит переписать шаблон на шаблонизатор? Что будешь делать?
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Мобильная версия сайта

Сообщение urichalex »

Йож писал(а): 2017.04.11, 14:51 Было много обсуждений на Серче (searchengines.guru), пришли к выводу, что лучше использовать адаптивную верстку, на том же Bootstrap.
Конечно, если у Вас не 200к+ посетителей в день и надо держать нагрузку, тогда можно и m.версию.
Зависит от конкретной ситуации и архитектуры приложения. Скажем в дектоп версии есть сотня действий, когда для мобильного приложения достаточно нескольких, не прятать же всё ненужное
SergV
Сообщения: 192
Зарегистрирован: 2012.07.08, 11:27

Re: Мобильная версия сайта

Сообщение SergV »

urichalex писал(а): 2017.04.11, 15:04 А если заказчик решит переписать шаблон на шаблонизатор? Что будешь делать?
Не чего делать не буду, пхп и так шаблонизатор, зачем ещё какие то шаблонизаторы внедрять, это зло. Ток злые программисты преподносит шаблонизаторы как упрощение жизни верстальщика, а верстальщику потом нужно изучать ещё кроме пыха и кучу шаблонизаторов. ;)
А если серьёзно, то в чём собственно проблема, заменить одну пхп строчку с инклюдом, на строчку шаблонизатора. Надо будет заказчику шаблонизатор, ну так или иначе придётся кучу чего переделывать, и одна строчка тут роли не сыграет.
Аватара пользователя
rugabarbo
Сообщения: 1063
Зарегистрирован: 2015.06.21, 16:21
Контактная информация:

Re: Мобильная версия сайта

Сообщение rugabarbo »

Мне казалось, мобильные версии сайтов на поддоменах - пережиток прошлого...
Alex21
Сообщения: 39
Зарегистрирован: 2016.11.11, 09:27

Re: Мобильная версия сайта

Сообщение Alex21 »

Йож писал(а): 2017.04.11, 14:51 Было много обсуждений на Серче (searchengines.guru), пришли к выводу, что лучше использовать адаптивную верстку, на том же Bootstrap.
Конечно, если у Вас не 200к+ посетителей в день и надо держать нагрузку, тогда можно и m.версию.
Я честно говоря тоже за адаптивную версию. Но если не получится переубедить заказчицу, придется делать мобильную. Причем я адаптивную делал только на Bootstrap, а у нее уже будет готовый дизайн, нарисованный не под него. Выходит, если адаптив, то его ручками как-то делать придется.
Спасибо большое всем за ответы.
Аватара пользователя
rugabarbo
Сообщения: 1063
Зарегистрирован: 2015.06.21, 16:21
Контактная информация:

Re: Мобильная версия сайта

Сообщение rugabarbo »

Если заказчик просит отдельную pda-версию, вам поможет сервисный слой. Контроллеры и представления у сайтов будут разные, а сервисный слой один и тот же. Если попробуете смешивать контроллеры или делать такое через темы - упрётесь в неподдерживаемую лапшичку со временем. Лучше разделите их - как два разных клиента пусть будут.
Matvik
Сообщения: 194
Зарегистрирован: 2013.06.21, 02:32

Re: Мобильная версия сайта

Сообщение Matvik »

rugabarbo писал(а): 2017.04.11, 16:37 Если заказчик просит отдельную pda-версию, вам поможет сервисный слой. Контроллеры и представления у сайтов будут разные, а сервисный слой один и тот же. Если попробуете смешивать контроллеры или делать такое через темы - упрётесь в неподдерживаемую лапшичку со временем. Лучше разделите их - как два разных клиента пусть будут.
Кстати, было бы интересно посмотреть хотя бы общуюю структуру папок для такого варианта
Аватара пользователя
rugabarbo
Сообщения: 1063
Зарегистрирован: 2015.06.21, 16:21
Контактная информация:

Re: Мобильная версия сайта

Сообщение rugabarbo »

В advanced-шаблоне есть frontend и backend. Здесь будет третья папка mobile. Сервисный слой в common. Ничего интересного (:
Alex21
Сообщения: 39
Зарегистрирован: 2016.11.11, 09:27

Re: Мобильная версия сайта

Сообщение Alex21 »

rugabarbo писал(а): 2017.04.12, 02:07 В advanced-шаблоне есть frontend и backend. Здесь будет третья папка mobile. Сервисный слой в common. Ничего интересного (:
Подскажите, а в базовом шаблоне как это будет выглядеть?
Ответить