62 foreach ($this->themeCollection->loadRegisteredThemes() as
$theme) {
63 $config = $this->viewConfig->getViewConfig([
64 'area' => Area::AREA_FRONTEND,
67 $images =
$config->getMediaEntities(
'Magento_Catalog', ImageHelper::MEDIA_TYPE_CONFIG_NODE);
68 foreach ($images as $imageId => $imageData) {
69 $this->data[
$theme->getCode() . $imageId] = array_merge([
'id' => $imageId], $imageData);
84 $galleryImages =
$product->getMediaGalleryImages();
86 foreach ($galleryImages as
$image) {
87 foreach ($this->
getData() as $imageData) {
107 $this->imageHelper->init(
$product, $imageData[
'id'], $imageData);
108 $this->imageHelper->setImageFile($file);
110 if (isset($imageData[
'aspect_ratio'])) {
111 $this->imageHelper->keepAspectRatio($imageData[
'aspect_ratio']);
113 if (isset($imageData[
'frame'])) {
114 $this->imageHelper->keepFrame($imageData[
'frame']);
116 if (isset($imageData[
'transparency'])) {
117 $this->imageHelper->keepTransparency($imageData[
'transparency']);
119 if (isset($imageData[
'constrain'])) {
120 $this->imageHelper->constrainOnly($imageData[
'constrain']);
122 if (isset($imageData[
'background'])) {
123 $this->imageHelper->backgroundColor($imageData[
'background']);
126 $this->imageHelper->save();
getData($key='', $index=null)
processImageData(Product $product, array $imageData, $file)
generate(Product $product)
__construct(ConfigInterface $viewConfig, ThemeCollection $themeCollection, ImageHelper $imageHelper)