2015-01-12 5 views
1

Я хочу отображать уменьшенное изображение на странице продукта, только если оно существует. В настоящее время он отображает изображение заполнителя, если эскиз не выбран. Полагаю, мне нужно просто обернуть это вокруг оператора if, но не знаю, какой метод (если есть), чтобы проверить, существует ли эскиз. Вот код, который используется для отображения миниатюры:Проверьте, есть ли у продукта Magento Thumbnail

<img id="slide-img-1" src="<?php echo $this->helper('catalog/image')->init($_product, 'thumbnail')->resize(163, 100); ?>" /></a> 

ответ

2

Если эскиз существует для продукта, то он должен быть установлен на экземпляре $_product. Таким образом, вы можете использовать это в своем состоянии, см. Ниже.

<?php if($_product->getThumbnail()): ?> 
    <img id="slide-img-1" src="<?php echo $this->helper('catalog/image')->init($_product, 'thumbnail')->resize(163, 100); ?>" /></a> 
<?php endif; ?> 
+1

Отлично! Это сработало отлично. Но я решил другой подход, чтобы не мешать миниатюрному изображению. Я создал собственный атрибут изображения. Я решил изменить миниатюру с именем атрибута, и он это сделал. Но теперь мне нужно проверить, имеет ли этот пользовательский атрибут изображения прикрепленное изображение, иначе страница продукта вызывает ошибку. Вот обновленный код. ' ' – Erik

2

Используйте следующее:

<?php if(!($_item->getThumbnail() == "no_selection")): ?> 
    <div class="image-holder"> 
     <img class="thumbnail-image" 
      src="<?php echo $this->helper('catalog/image')->init($_item, 'thumbnail')->constrainOnly(true)->resize(800); ?>" 
      alt="" 
      title="" /> 
    </div> 
<?php endif; ?>