Категории: Мадженто 2

Как изменить размер картинок в Magento 2

Размер картинки товара, а также другие параметры картинок в 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>

 

 

Конфигурация картинок в Мадженто 2

Рассмотрим более подробно настройки конфигураций картинок

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 изменял их размер. Не влияет на изображения с большими размерами, чем указано в параметрах ширины/высоты.
    • Тип: boolean
    • Значение по умолчанию: true
  • aspect_ratio – если установлено значение true, соотношение пропорций между шириной и высотой картинки остается неизменным.
    • Тип: boolean
    • Значение по умолчанию: true
  • frame – если установлено значение true, изображение не будет обрезано. Применяется только в том случае, если для параметра aspect_ratio установлено значение true.
    • Тип: boolean
    • Значение по умолчанию: true
  • transparency – если установлено значение true, сохраняется прозрачный фон изображений. Если установлено значение false, изображения будут иметь белый фон (по умолчанию). Вы можете установить свой цвет фона, используя параметр background.
    • Тип: boolean
    • Значение по умолчанию: true
  • background – цвет фона для изображений. Не применяется к изображениям с прозрачностью, если для transparency установлено значение true. Используйте параметр для добавления рамки изображения при изменении размера фотографий и изменении фонового цвета.
    • Тип: строка
    • Значение по умолчанию: [255, 255, 255]

 

 

Применение изменений

Когда вы закончите редактирование файла view.xml и укажете новые значения параметров, вам нужно дать команду Magento перегенерировать изображения товаров. Это можно сделать с помощью следующих команд в консоли Magento 2:

php bin/magento catalog:images:resize
php bin/magento cache:clean

 

 

Использование в .phtml шаблонах

Вы можете использовать другие настройки для параметров картинок непосредственно в файлах-шаблонах темы. Для этого вам нужно сделать инъекцию зависимостей Хелпер класса для картинок (\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" />';
}

 

Share
Теги: Magento2

Последние посты

Как выбрать идеальный ноутбук: Полный гайд

Выбор ноутбука может быть сложной задачей в мире, где рынок переполнен вариантами на любой вкус… Читать далее

22/04/2024

Томас Эдисон

Наша самая большая слабость заключается в том, что мы быстро сдаемся. Самый верный способ добиться… Читать далее

20/04/2024

Самые красивые и впечатляющие мосты со всего мира (ТОП-10)

Мост — это нечто большее, чем просто сооружение, соединяющее два берега. Для того, чтобы появился… Читать далее

19/04/2024

Соломон

Жизнь нас учит, что свою пару мы познаем, когда разводимся, своих братьев мы познаем, когда… Читать далее

18/04/2024

Чак Паланик

Кто может — тот делает. Кто не может — тот критикует Чак Паланик   Читать далее

17/04/2024

Ричард Бах

Ни одно желание не дается тебе отдельно от силы, позволяющей его осуществить. Хотя, возможно, для… Читать далее

16/04/2024