Розмір картинки товару, а також інші параметри картинок в Magento 2 визначаються у файлі <ТЕМА>/etc/view.xml
. Шлях до ТЕМИ наступний: app/design/frontend/<Vendor>/ТЕМА
. Наприклад, для теми Magento Blank розташування файлу view.xml наступне: app/design/frontend/Magento/blank/etc/view.xml
. Якщо ж ви встановлювали тему через Composer, тоді папку теми можна знайти в vendor/magento/theme-frontend-<КОД_ТЕМИ>
. У файлі view.xml міститься конфігурація зображень для товарів, а також для картинок-мініатюр магазину. Цей файл є обов’язковим для теми, але його можна не використовувати, якщо він є в батьківській темі. Батьківська тема оголошується у файлі <ТЕМА>/theme.xml
в ноді <parent>
.
Конфігурація зображень знаходиться в ноді <images module="Magento_Catalog">
. Вона виглядає приблизно так:
<images module="Magento_Catalog"> <image id="image_location_id" type="image_type"> <width>200</width> <height>200</height> ... </image> </images>
Розглянемо більш докладно налаштування конфігурацій картинок
id
– це унікальний параметр, який використовується в .phtml
шаблонах для вказівки властивостей зображення в певне розташування на певній сторінці. Це може бути картинка пов’язаного товару на сторінці товару, картинка товару в списку товарів, картинка товару на сторінці кошика і т.д.
type
– визначає, яка картинка буде відображатися. Типи картинок описані в адмінці Каталог > Товари в розділі «Зображення і Відео». Кожен тип може мати свою власну картинку, що дозволяє завантажувати різні зображення для невеликих мініатюр або для великого зображення. Допустимі значення:
image
– відповідає типу базового зображенняsmall_image
– відповідає типу маленької картинкиswatch_image
– відповідає типу Swatch Image (перемикання картинок)swatch_thumb
– відповідає типу Swatch Image (перемикання картинок)thumbnail
– відповідає типу ескізного зображення (мініатюра)
Якщо вам потрібно змінити/перезаписати значення у файлі view.xml, для цього вам доведеться скопіювати весь файл view.xml в свою тему та внести потрібні коригування. Відсутні вузли у вашій темі не успадковуються від батьківської теми, тому й потрібно копіювати весь файл.
Щоб змінити розміри картинки товару в Magento 2, відкрийте файл <ТЕМА>/etc/view.xml
, знайдіть зображення з потрібним ідентифікатором та оновіть параметри widht/height. Наприклад, змінимо розмір картинок товару на сторінці товарів (в режимі Сітки). Для цих картинок ID буде таким category_page_grid
. Внесіть зміни в наступний нод (вузол):
<image id="category_page_grid" type="small_image"> <width>250</width> <height>250</height> </image>
Фреймворк Magento 2 може змінювати розміри зображень, зберігати пропорції, зберігати прозорість зображення, обрізати і т.д. Весь список параметрів виглядає так:
width
– ширина зображення в пікселях. Використовується для зміни розміру картинки товару. height
– висота картинки в пікселях. Використовується для зміни розміру картинки товару. constrain
– якщо для параметра «constrain» встановлено значення true
, зображення, які менше заданого значення, не збільшуватимуться Magento. Буде збільшуватися тільки рамка кадрування. Цей параметр може використовуватися для невеликих зображень товару, якщо ви не хочете, щоб Magento змінював їх розмір. Це не впливає на зображення з більшими розмірами, ніж зазначено в параметрах ширини/висоти. aspect_ratio
– якщо встановлено значення true
, співвідношення пропорцій між шириною та висотою картинки залишається незмінним. frame
– при встановленні на true
, зображення не буде обрізане. Застосовується тільки в тому випадку, якщо для параметра aspect_ratio
встановлено значення true
. transparency
– якщо встановлено значення true, зберігається прозорий фон зображень. Якщо встановлено значення false
, зображення матимуть білий фон (за замовчуванням). Ви можете встановити свій колір фону, використовуючи параметр background
. background
– колір фону для зображень. Це не застосовується до зображень з прозорістю, якщо для transparency
встановлено значення true
. Використовуйте параметр для додавання рамки зображення при зміні розміру фотографій і зміну фонового кольору.
Коли ви закінчите редагування файлу view.xml і вкажете нові значення параметрів, вам потрібно дати команду Magento перегенерувати зображення товарів. Це можна зробити за допомогою наступних команд в консолі Magento 2:
php bin/magento catalog:images:resize php bin/magento cache:clean
Ви можете використовувати інші налаштування для параметрів картинок безпосередньо в файлах-шаблонах теми. Для цього вам потрібно зробити ін’єкцію залежностей Хелпер класу для картинок (\Magento\Catalog\Helper\Image
) в клас використовуваного Блоку для шаблону.
Приклад коду:
/** * @var $block \Magento\Catalog\Block\Product\Widget\NewWidget * @var $imageHelper \Magento\Catalog\Helper\Image */$image = 'product_page_more_views'; $items = $block->getProductCollection()->getItems(); $width = 250; $height = 250; foreach ($items as $_item) { $resizedUrl = $imageHelper->init($_item, $image ) ->keepAspectRatio(TRUE) ->constrainOnly(TRUE) ->keepFrame(TRUE) ->resize($width, $height) ->getUrl(); echo '<img src="'. $resizedUrl .'" alt="alt text" />'; }
Навчання за кордоном вже давно асоціюється з якісною освітою, новими можливостями та безліччю перспектив. Але…
Вибір майстра для ремонту та перетяжки меблів – завдання, яке потребує вдумливого підходу. Адже від…
Вибір ідеального хостингу під свій сайт може бути досить заплутаною справою, особливо коли існує багато…
Щоб уникати помилок, потрібно набиратися досвіду; щоб набиратися досвіду, потрібно робити помилки Лоуренс Пітер
Коротке визначення Чорного SEO Чорне СЕО (або Чорна оптимізація) — це будь-яка практика, метою якої…
Отримання прав водія категорії C відкриває двері до професійної діяльності, пов'язаної з керуванням вантажними автомобілями.…