Magento 2: Получить изображение с идентификатора образца


У меня есть атрибут color_swatch, который является визуальным образцом, и в нем есть некоторые элементы с изображениями. В моем коде я могу взять эти данные:

[swatch_id] => 57
[color_swatch] => Red

[swatch_id] => 58
[color_swatch] => Blue

[swatch_id] => 59
[color_swatch] => Black

Как я могу получить изображение образца, используя эти данные?

Author: Fred Orosko Dias, 2016-11-23

1 answers

Вы можете получить изображение образца из этого,

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();

$swatch = $objectManager->create('Magento\Swatches\Model\Swatch')->load($swatchId);

$imageName=$swatch->getData('value');

if(!empty($imageName)){
$imagePath=$objectManager->create('Magento\Swatches\Helper\Media')->getSwatchMediaUrl().$imageName;
echo $imagePath;
}

Значение изображения можно найти в таблице eav_attribute_option_swatch. Где value - это Image path и type 1 загружается файлер изображений и 2 - цвет, выбранный из образца цвета.


Примечание: Я против прямой загрузки объекта с помощью $objectManager, для лучшего воздействия вы можете ввести его в свой конструктор. Я только что привел пример того, как вы можете этого достичь. `

 6
Author: Keyur Shah, 2016-11-24 09:36:22