【发布时间】:2013-07-10 04:52:49
【问题描述】:
我正在使用下面的代码来显示附加到可配置产品的所有简单产品的一些自定义图像属性。
当产品只有一种变化(例如颜色)时,这很好用。问题是当产品有多种变化时,例如:
- 尺码: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 } ?>
【问题讨论】: