我正在使用下面的代码来显示附加到可配置产品的所有简单产品的一些自定义图像属性。
当产品只有一种变体(例如颜色)时,这很好用。问题是当产品有多种变化时,例如:
- 尺寸:M / 颜色:红色
- 尺寸:L / 颜色:红色
尺码:XL / 颜色:红色
尺寸:M / 颜色:绿色
- 尺寸:L / 颜色:绿色
- 尺码:XL / 颜色:绿色
所以当产品是这样的时候,它会显示自定义图像属性 3 次,我需要它只显示每个自定义颜色属性一次,所以红色的一次和绿色的一次会有六个,这是不对的。
<?php
$conf = Mage::getModel('catalog/product_type_configurable')->setProduct($_product);
$col = $conf->getUsedProductCollection()->addAttributeToSelect('*')->addFilterByRequiredOptions(); ?>
<div class="relative">
<?php
foreach($col as $simple_product){ ?>
<div class="container-swatch">
<img width="35" height="35" src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . 'catalog/product' . $simple_product->getSwatch() ?>">
<div class="content">
<img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . 'catalog/product' . $simple_product->getLargeSwatch() ?>">
<div class="inside-swatch-name"><?php echo $simple_product->getAttributeText('real_colour'); ?></div>
</div>
</div>
<?php } ?>