显示Magento属性限制为一个简单的产品

时间:2013-07-09 10:32:28

标签: php 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 }  ?>

1 个答案:

答案 0 :(得分:1)

试试这个(在产品视图页面上):

$_product->getTypeInstance()->getUsedProductCollection($_product)->groupByAttribute('color');

或使用适当的颜色属性选项属性代码

更改color