Я решил, что картинка на которую нужно менять будет иметь порядок 1000.
//получаем исходную картинку $_outImage = $this->helper('catalog/image')->init($_product, 'small_image')->resize(144,216); $_product->load('media_gallery'); $_overImage = null; //получаем картинки из галлереи товара foreach ($_product->getMediaGalleryImages() as $_image) { if($_image->getPosition() == 1000){//нужная нам картинка $_overImage = $this->helper('catalog/image')->init($_product, 'small_image_hover', $_image->getFile())->resize(144,216); } }
После я вставляю картинку:
<img src="<?php echo $_outImage;?>" <?php if ($_overImage):?> onmouseover="changeOverImg(this,'<?php echo $_overImage;?>')" onmouseout="changeOutImg(this,'<?php echo $_outImage;?>')" <?php endif ?> width="144" height="216" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" />
Но $_overImage и $_outImage имеют одно и тоже значение.
Как получить разные?