Magento 2按商店ID加载产品媒体图像

时间:2018-03-15 10:37:47

标签: media magento2 image-gallery

我在Magneto 2中创建了3个商店视图。

1)NL

2)EN

3)EN B2B

有10,000种产品。 NL和EN商店的产品细节很好。

但在 EN B2B 商店中,我也可以看到NL商店的图片。我不能从10,000个产品中逐个删除图像。

所以我想更改Gallery.php中的代码,以便在EN B2B商店中加载EN商店的图片。

在Gallery.php文件中,此功能正在加载所有媒体图像,

public function getGalleryImages()
    {
        $product = $this->getProduct();
        $images = $product->getMediaGalleryImages();
        if ($images instanceof \Magento\Framework\Data\Collection) {
            foreach ($images as $image) {
                /* @var \Magento\Framework\DataObject $image */
                $image->setData(
                    'small_image_url',
                    $this->_imageHelper->init($product, 'product_page_image_small')
                        ->setImageFile($image->getFile())
                        ->getUrl()
                );
                $image->setData(
                    'medium_image_url',
                    $this->_imageHelper->init($product, 'product_page_image_medium')
                        ->constrainOnly(true)->keepAspectRatio(true)->keepFrame(false)
                        ->setImageFile($image->getFile())
                        ->getUrl()
                );
                $image->setData(
                    'large_image_url',
                    $this->_imageHelper->init($product, 'product_page_image_large')
                        ->constrainOnly(true)->keepAspectRatio(true)->keepFrame(false)
                        ->setImageFile($image->getFile())
                        ->getUrl()
                );
            }
        }

        return $images;
    }

但我没有得到如何传递商店ID以从特定商店视图加载图像。

0 个答案:

没有答案