Définir l'image à survoler par SortOrder ID
-
12-12-2019 - |
Question
J'ai actuellement une extension qui définit un survol sur une image chaque fois qu'elle trouve une étiquette appelée « survol ».Je souhaite changer cela pour survoler une image s'il existe une image avec un identifiant d'ordre de tri qui est « 2 ».Mais je ne sais pas comment faire ça.Le code est ci-dessous.
$html = "";
$imgcount = Mage::getModel('catalog/product')->load($_product->getId())->getMediaGalleryImages()->count();
if ($imgcount>0):
$_gallery = Mage::getModel('catalog/product') -> load($_product -> getId()) -> getMediaGalleryImages();
foreach ($_gallery as $_image ):
if ($_image->getLabel() == 'hover'):
$html = '<span class="hover-image"><img ' . $this->getImgSources($_product, $imgType, $w, $h, $_image -> getFile()) . ' alt="" /></span>';
break;
endif;
endforeach;
endif;
return $html;
J'espérais que ce serait aussi simple que if ($_image->getSortOrder() == 2):
mais c'était juste une réflexion erronée.Des idées?
La solution
Essayer $_image->getPositionDefault()
print_r($_image->getData())
Array
(
[value_id] => 2
[file] => /l/a/label.jpg
[label] => Label
[position] => 0
[disabled] => 0
[label_default] => Label
[position_default] => 0
[disabled_default] => 0
[url] => http://www.site.com/media/catalog/product/l/a/label.jpg
[id] => 2
[path] => /var/www/site/media/catalog/product/l/a/label.jpg
)
Autres conseils
La réponse de RS fonctionne mais je suis tombé sur un moyen plus simple de le faire.J'ai simplement changé.
if ($_image->getLabel() == 'hover'):
à
if ($_image->getPosition() == 2):
Merci pour votre aide, je ne serais pas tombé sur ça autrement.Je sais que ça a l'air stupide, mais paniqué, j'ai raté la chose la plus évidente au monde et c'était la solution.