我需要列出仅有库存的缩略图,但我无法找到插入过滤器的方式,以便在下一段代码中说addAttributeToFilter('is_saleable', TRUE)
。
产品结构:
2个选项
颜色和尺寸
所有图片都与可配置产品相关联,而图库图片的颜色标签与颜色表单选项相匹配。
当您在产品视图页面中打开可配置产品时,会显示一个下拉列表或复选框表单,您可以先选择Color
,然后选择显示库存中的所有Sizes
。但是在下拉列表中只有Colors
库存。
示例:
Red => S,M,L
Blue => L,XL
Yellow => S
Gray => Not in stock, not in the dropdown.
有没有办法插入过滤器来跳过不可销售或库存的图像颜色?
<?php $_gallery = Mage::getModel('catalog/product')->load($_product->getId())->getMediaGalleryImages(); ?>
<?php $imgcount = Mage::getModel('catalog/product')->load($_product->getId())->getMediaGalleryImages()->count();?>
<?php if($imgcount >1): ?>
<div class="more-views">
<a href="<?php echo $_product->getProductUrl(); ?>" title="<?php echo html_entity_decode($_helper->productAttribute($_product, $_product->getName(), 'name')); ?> <?php // echo $this->htmlEscape($_image->getLabel()) ?>">
<img style="padding-top:2px;" src="<?php echo $this->helper('catalog/image')->init($_product, 'thumbnail', $_image->getFile())->resize(33, 31); ?>" width="33" height="31" alt="<?php echo html_entity_decode($_helper->productAttribute($_product, $_product->getName(), 'name')); ?> <?php echo $this->htmlEscape($_image->getLabel()); ?>" title="<?php echo html_entity_decode($_helper->productAttribute($_product, $_product->getName(), 'name')); ?> <?php echo $this->htmlEscape($_image->getLabel()); ?>" />
</div>
<?php endif; ?>