Pergunta

Eu tenho atualmente uma extensão que define um foco em uma imagem sempre que encontra um rótulo que é chamado de 'passe'.Eu gostaria de alterar para focalizar uma imagem se não houver uma imagem com identificação da ordem de classificação que for "2".Mas eu não sei como fazer isso.O código está abaixo.

    $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;

Eu estava esperando que ele iria ser tão simples como if ($_image->getSortOrder() == 2): mas isso foi só um modo de pensar equivocado.Qualquer idéias?

Foi útil?

Solução

Tente $_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
)

Outras dicas

R. S' resposta obras, mas me deparei com uma forma mais simples para mim fazê-lo.Eu simples alterado.

if ($_image->getLabel() == 'hover'):

para

if ($_image->getPosition() == 2):

Obrigado pela ajuda pessoal, não da deparei com este caso contrário.Eu sei que parece estúpido, mas em pânico eu perdi a coisa mais óbvia do mundo e que foi a correção.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top