Я использую следующий код, чтобы показать некоторые пользовательские атрибуты изображения для всех простых продуктов, которые подключены к настраиваемому продукту.Показать атрибут Magento, ограничивающий один простой продукт
Это прекрасно работает, когда продукт имеет только один вариант, например цвет. Проблема заключается в том, когда продукт имеет множество вариаций так, например:
- Размер: 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 } ?>