Як у Drupal зробити адаптивні зображення, Web On Life

зробити

Адаптивні картинки для Drupal ми отримаємо замінивши старий добрий на новий, що поки що підтримується не всіма браузерами,

можна почитати у статті про адаптивні зображення. Виконавши всі інструкції з цієї статті ви отримаєте адаптивні зображення на своєму сайті, при цьому процес додавання зображень не зміниться. Drupal не тільки замінить на

але й сам створить кілька варіантів картинки з різними розмірами.

Переходимо від слів до діла, а точніше до встановлення пари модулів. Нам потрібні модуль Picture. Назва говорить сама за себе. Модуль вийшов у результаті бекпорту модуля Responsive Image, розробленого для вісімки. Окрім цього ще візьмемо Breakpoints та Ctools (якщо у вас не тільки що встановлений сайт, то CTools швидше за все вже стоїть).

Код для елемента зображення виглядає так

Визначаються контрольні точки, вказується відповідне зображення і останнім йде fallback. Робитимемо в тому ж порядку. Почнемо з визначення контрольних точок.

Підготовчий етап. Створюємо контрольні точки, стилі та групи.

Переходимо до меню Конфігурація → Мультимедіа → Breakpoints. Вказуємо назву контрольної точки та відповідний їй медіа запит. Якщо потрібна підтримка ретину, відзначаємо в Multipliers потрібне значення. Зверніть увагу на порядок, в якому розташовані точки. У моєму прикладі з min-width першою стоїть точка з найбільшим значенням і далі за спаданням.

Справа в тому, що браузер буде переглядати умови по черзі і знайшовши перше відповідне не буде дивитися інші. Таким чином, якщо поміняти місцями точки desktop і tablet, то завжди буде відображатися маленька картинка.

Тепер об'єднаємо створені контрольні точки до групи.Тиснемо на Add a new group, вписуємо назву групи і відзначаємо створені контрольні точки.

для зображень, що вставляються як поле.

Далі розглядається випадок, коли зображення вставляються як поле. Переходимо в меню Структура → Типи матеріалів → Стаття → Керування відображенням. Якщо у вас інтерфейс Drupal переведений на українську то можлива ситуація коли у списку, що випадає, буде два пункти "зображення". Виберіть той у налаштуваннях якого є Picture mapping.

У налаштуваннях поля вибираємо групу точок та fallback.

Оновлюємо та зберігаємо налаштування. Після всіх цих налаштувань замість стандартного тега виводитиметься

з атрибутами source де буде прописано медіа-запит та відповідне йому зображення.

представляє кілька варіантів адаптації зображення. Серед них є і такий - визначаємо розмір картинки через атрибут sizes і пропонуємо браузеру кілька варіантів картинки із зазначенням розмірів. Розрахувавши розмір браузер сам вибере один із запропонованих варіантів картинки. Налаштування для такого варіанта відрізнятимуться лише останнім пунктом. У відображенні полів замість форматуЗображення вибираємоImage with sizes. У налаштуваннях вказуємо значення атрибута sizes та стилі зображень.

Значення sizes вказувати в vw(відсоток від ширини вьюпорта) і можливі медіазапити.

для зображень у тексті.

Насправді частіше потрібно вставляти зображення у текст, а чи не окремим полем. Я для цього користуюсь модулем Insert. На даний момент Insert не дружить із Picture. Сподіваюся в наступних версіях розробники це виправлять, а поки що можна скористатися патчем https://www.drupal.org/node/1954546.

Останній крок – увімкнути фільтр.

фільтр Drupal для заміни на

На цьому тема адаптивнихзображень у Drupal не закінчено. На черзі статті про те, як зробити адаптивне слайдшоу, як краще і простіше адаптувати картинку використовуючи можливості Drupal і . може у вас є якісь питання? Пишіть, спробуємо разом розібратися.

Member for

ср, 11/04/2015 - 22:56

Так, зараз дуже важливо

Member for

сб, 11/28/2015 - 19:17

Picture ще широко не

Picture ще широко не використовується, та й коли ще увійде до загального ужитку. Хоча сам собою підхід цікавий. Мені ось тільки незрозуміло – навіщо такі складнощі? Хіба не простіше в css прописати адаптивність для зображень - це нескладно.

Member for

зробити

сб, 11/28/2015 - 21:37

Тег Picture на даний момент

Тег Picture зараз нормально перетравлюють 55% пристроїв. Для решти є поліфіл.

Тепер щодо простого способу. Додавши адаптивність через css ми будемо віддавати одну і ту ж картинку і для десктопів і для мобільних що не є добре. Використовуючи picture мобілкам, можна віддавати більш легку версію картинки. Крім ваги є проблема зі зменшеними великими зображеннями, на яких у зменшеному варіанті важко щось розібрати. з picture ми можемо підготувати ще один варіант зображення, на якому буде відрізано все зайве і віддати її мобільним користувачам.

Складно вперше налаштувати користуватися одне задоволення. Залили картинку відразу відрізав зайве і все готово все задоволені :).

Member for

вт, 12/01/2015 - 19:46

Якщо зображення саме по собі

Якщо зображення саме по собі оптимізовано, то немає нічого поганого в тому, щоб воно використовувалося як для десктопних програм, так і для мобільних. Адаптивність, вона є адаптивність. Тег pictureзручний, не сперечаюся, але треба в цьому випадку готувати як мінімум два зображення.

Member for

зробити

Пт, 12/04/2015 - 15:22

У нас є така

У нас є така картинкаадаптувавши під маленький екран використовуючи css ми отримаємо що на кшталт цього

ми можемо віддати мобільним користувачам наприклад таку картинку

На ній можна зрозуміти, що за людина зображена і важить така картинка менше.

Member for

Пт, 12/04/2015 - 18:48

Відповідь на У нас є така від Oleg

Так, суть зрозуміла. Почитав

Так, суть зрозуміла. Почитав про теґ ще матеріали. Там багато можливостей - підлаштовується не лише під роздільну здатність, а й під орієнтацію пристрою. Мабуть за цим тегом майбутнє, доведеться згодом освоювати. Що не подобається - якщо зараз я просто викладаю одну картинку, яка за допомогою css адаптується під розміри екрану, то з picture, за умови використання всіх аспектів цього тега, доведеться заготувати картинок штук 10, напевно.