Створення мобільного сайту на Drupal 7, Master-web
Цей пост у жодному разі не можна назвати посібником користувача. Швидше це пост роздумів про найбільш оптимальне рішення для створення сайтів, адаптованих під мобільні пристрої на базі Drupal. У той час як майбутній Drupal 8 як одна з основних парадигм має максимальну «мобілізацію», нам потрібно думати про те, як максимально ефективно використовувати поточну версію Drupal для створення сучасних мобільних сайтів. І в першу чергу, коли ми робимо мобільний сайт на Drupal, нам потрібно визначиться з ідеологією, якою ми будемо слідувати. Далі нам потрібно вибрати інструменти, які допоможуть нам у цьому, а потім можна приступати. Отже, почнемо з іделогії.
Responsive чи Adaptive?
А висновок простий, обидві технології як би доповнюють одна одну, а тому давайте візьмемо найкраще з кожної і зробимо чудовий сайт, який працює на різних пристроях.
Інструменти = модулі
Mobile Tools
Цей модуль дає нам досить велику кількість можливостей щодо створення умов залежно від користувача пристрою. Найкраще в ньому те, що він тісно інтегрується з безліччю найпопулярніших модулів для Drupal, а в нашому випадку і зContext іChaos Tools, а також з модулямиThemeKey таBrowscap про які ми ще поговоримо нижче. Однак для Drupal 7 використовувати цей модуль у зв'язці з тим жеBrowsecap вкрай проблематично, оскільки стабільної версії немає, а нестабільна не працює у зв'язці зBrowsecap.
Модуль дозволяє визначати інформацію про користувача агента, використовуючи і значно покращуючи можливості роботи з PHP функцією get_browser()
Допомагає визначити пристрій користувача. Працює у зв'язку зMobile Tools допомагаючиперевизначити тему в залежності від групи, до якої віднесено пристрій. За промовчаннямWURFL створює просту групу Mobile Device.
Модуль який може бути використаний у кількох випадках:
- Context Mobile Detect цей плагін дляContext здійснює інтеграцію модуля з PHP Mobile Detect library Mobile_Detect.
- Змінити тему сайту згідно з певними умовами. Для цього потрібно використовувати розширення для модуля Context Reaction: Theme
- Зокрема однією з умов може бути тип користувача агента. У цьому допоможе Context Useragent
- Можна також додавати різні CSS та JS файли до теми за допомогою плагіна Context Add Assets
CTools HTTP Header Plugins
Цей плагін до модуляChaos Tools дозволяє визначати контексти та правила доступу в залежності від параметрів заголовків відповіді сервера, таких як Referrer, User Agent, Host, Accept, Accept Charset, Accept Encoding, Accept, Language, Connection.
Подумаємо про картинки
Звичайно, ідеологія responsive images чудова по суті, і цілком пристойно може працювати на невеликих сайтах, але для великих сайтів з великою кількістю графіки і великим трафіком ця технологія є вкрай дорогим задоволенням. Тому у великих проектах потрібно думати у бік adaptive images.
На щастя, Drupal надає нам досить добрий набір модулів для підготовки зображень для мобільних пристроїв.
Зображення створені за допомогою ImageField
Тут усе просто. На чолі лише тема. Звичайно ж, тема залежатиме від обраної ідеології та зовнішнього вигляду сайту, але в будь-якому випадку сучасний сайт, вірніше, його фронт-частина зобов'язані використовувати прогресивні методи в розмітці зі зворотною.сумісністю для застарілих пристроїв. Як правило, у вас є два варіанти дій: перший, коли ви використовуєте одну тему для всіх видів пристроїв та змінюєте її відображення за допомогою передових способів верстки, зокрема використовуючиmedia queries, і другий, коли ви використовуєте дві різні теми для мобільних пристроїв та для десктопів. Я думаю, якщо дизайн сайту та функціональні особливості дозволяють використовувати одну тему, то краще так і вчинити.
Можливо, ви захочете писати свою власну тему орієнтовану на підтримку різних девайсів «з нуля», але з іншого боку, якщо є можливість використовувати готовий «фундамент», то чому б і ні. І Drupal знову тут дає великий вибір інструментів.
Я б радив розглянути як базову тему https://drupal.org/project/adaptivetheme. Окрім всіх інших переваг ця тема спочатку інтегрована з модулями, які потрібні для мобільної розробки на Drupal. Зокрема, тема пов'язана з модулем Browscap, який у зв'язці з власним механізмом Mobile Regions дозволяє темі дуже гнучко підлаштовувати виведення блоків під різні аксесуари.
Природно, це не єдина тема, яка підтримує сучасні мобільні тенденції. Репозиторій Drupal пропонує досить великий вибір, так що вирішувати вам.
Підведемо підсумки
Отже, якщо ви вирішили, що хочете робити мобільний сайт на Drupal, то вам потрібно дотримуватись наступних основних кроків: