Magento 2: Получить изображение с идентификатора образца
У меня есть атрибут color_swatch
, который является визуальным образцом, и в нем есть некоторые элементы с изображениями.
В моем коде я могу взять эти данные:
[swatch_id] => 57
[color_swatch] => Red
[swatch_id] => 58
[color_swatch] => Blue
[swatch_id] => 59
[color_swatch] => Black
Как я могу получить изображение образца, используя эти данные?
1
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