【问题标题】:Showing Magento attribute limiting to one simple product显示 Magento 属性仅限于一种简单产品
【发布时间】: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 }  ?>

【问题讨论】:

    标签: php magento


    【解决方案1】:

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

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

    或将color更改为颜色属性选项的相应属性代码

    【讨论】:

      猜你喜欢
      • 2015-01-07
      • 1970-01-01
      • 2012-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-26
      • 1970-01-01
      相关资源
      最近更新 更多