В Magento 1 я всегда использовал
$_product->getMediaGallery('images')
Но в источнике из Magento 2 я вижу
$productImage = $block->getImage($_product, $image);
echo $productImage->toHtml();
Это только получение первого изображения продукта. Как получить второе или третье изображение (не только базовое)?
Функция GetMediaGallery не существует?
Обновление: $ _product-> getMediaGalleryImages () выбрасывает NULL в var_dump
а также
для getMediaGallery и getMediaGalleryEntries я получаю ту же ошибку уведомления:
Undefined property: Magento\Catalog\Model\Product\Interceptor::$getMediaGallery
\Magento\Catalog\Model\Product::getMediaGalleryImages()
Ответы:
Категория загрузки изменилась в 2.1, так что это может относиться только к 2.1 и далее:
Галерея изображений добавляется в продукт через интерфейс расширения, определенный с помощью di.xml. В результате мы можем вручную создать экземпляр класса ReadHandler галереи и передать продукт для загрузки всех его изображений галереи.
Как обычно в Magento 2, лучший способ создания экземпляра класса - это метод __construct (), поэтому вот класс-заглушка:
В вашем шаблоне, если у вас есть $ product, загруженный через коллекцию продуктов, вы можете вызвать:
источник
Используйте код ниже, чтобы получить все изображения галереи на странице со списком товаров:
источник
создать помощника например:
вызовите и используйте внутри вашего list.phtml: $ _helperGallery = $ this-> helper ('Ibnab \ Common \ Helper \ Data'); теперь вы можете использовать с текущим вызываемым продуктом внутри для каждого (с вашей техникой):
полный источник конечно
источник
В magento есть функция,
Magento\Catalog\Model\ResourceModel\Product\Collection::addMediaGalleryData()
которая добавит изображения медиагалереи в вашу коллекцию товаров.Просто используйте его в своей коллекции, как,
И вы сможете получить изображения из галереи СМИ, используя
источник
Вы можете использовать тот же метод, что и в Magento 1:
Кроме того, Magento 2 предоставляет новый метод для получения медиа галереи в виде массива:
источник
возвращает массив с галереей изображений
источник
источник