Изменение размера изображения Magento возвращает только последнее изображение
Я пытаюсь создать мобильную галерею изображений для продукта, используя функцию изменения размера Magento.
Все работает нормально - код отображает 4 изображения (для этого продукта в бэкэнде есть 4 изображения), но все 4 отображаемых изображения являются последним изображением продукта.
Пример:
В админке у меня есть
Изображение 1 Изображение 2 Изображение 3 Изображение 4
Результат, который я получаю, таков:
Изображение 4 Изображение 4 Изображение 4 Изображение 4
Результат, которого я хочу достичь, должен быть:
Изображение 1 Изображение 2 Изображение 3 Изображение 4
Любые указания были бы более чем признательны.
Пожалуйста, смотрите код ниже:
<?php
$product_id = $this->getProduct()->getId();
$product = Mage::getModel('catalog/product')->load($product_id);//product id here
$galeries = array();
foreach($product->getMediaGalleryImages() as $image){
$image_path = $image->getPath();
if(!file_exists($image_path)) continue;
$galeries[$image->getLabel()]['images'][]['url']=$image->url;
$correctURL = $this->helper('catalog/image')->init($this->getProduct(), 'small_image', $image->getFile())->resize(750,750);
if( $image->associated_attributes != ''){
$idForSlider = explode('-',$image->associated_attributes);
$idForSlider = $idForSlider[1];
$idForSlider = 'swatches_option_value_'.$idForSlider;
$galeries[$image->getLabel()]['idForSlider']=$idForSlider;
}
}
foreach ($galeries as $galery){
$idForOwl = $n;
$n++;
?>
<div class="v-slider<?php echo ($idForOwl+1)?>">
<div id="owl-demo<?php echo ($idForOwl+1)?>" class="owl-carousel" style="">
<?php
foreach ($galery['images'] as $image) {
?>
<div class="item">
<img src="<?php echo $correctURL?>" width="750" height="750">
</div>
<?php
}
?>
</div>
</div>
<?php
}
?>
1 answers
Вы просматриваете изображения своих продуктов и повторно устанавливаете $correcturl на каждой итерации. Затем вы входите в другой цикл и используете ту же переменную, она будет использовать только последнее сохраненное вами значение. Вы должны сохранить значение в массиве $galleries во время первого цикла и использовать его вместо этого.