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?

Était-ce utile?

La solution

Essayer $_image->getPositionDefault()

print_r($_image->getData())

Array
(
    [value_id] =&gt; 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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top