我在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以从特定商店视图加载图像。