如何根据颜色和大小属性通过关联的产品图像更改可配置产品主图像?

Vij*_*kia 5 magento magento-1.7

我正在使用具有大小和颜色属性的可配置产品.我想根据选择的选项更改可配置产品视图中的主图像如果我选择红色,那么只要我选择选项,就会在主图像上显示具有红色属性值的关联产品图像.

我怎样才能做到这一点??

谢谢...

Vij*_*kia 6

我找到了一个解决这个问题的方法,我正在为此工作......

\ app\code\core\Mage\Catalog\Block\Product\View\Type\Configurable.php中有一个块.

1)扩展此块或只需将"Mage\Catalog\Block\Product\View\Type\Configurable.php"添加到"\ app\code\local"文件夹.

2)Configurable.php中有一种方法getJsonConfig(),用于获取可配置的产品详细信息及其相关产品.我在这个文件中创建了一个名为getJsonConfigImages()的新方法,在这个方法中我添加了以下代码.

public function getJsonConfigImages()
     {
        $spImages = array();
        foreach ($this->getAllowProducts() as $_sp) {
            $spImages[$_sp->getId()] = 
                (string)$this->helper('catalog/image')
                    ->init($_sp, 'small_image')
                    ->resize(645,520);
        }
        return Mage::helper('core')->jsonEncode($spImages);
     }
Run Code Online (Sandbox Code Playgroud)

此方法将为我提供与可配置产品相​​关联的关联产品的每个main-image-url.

3)然后我只是在\ app\design\frontend\yourpackage\yourtheme\template\catalog\product\view\type\options\configurable.phtml中调用此方法,就像这样......

<script type="text/javascript">
    var spConfig = new Product.Config(<?php echo $this->getJsonConfig() ?>);
    var spConfigimages = new Product.Config(<?php echo $this->getJsonConfigImages() ?>);
</script>
Run Code Online (Sandbox Code Playgroud)

4)现在我拥有与可配置产品相​​关的简单产品的每个main-image-url,然后只使用一些javascript/jquery函数来更改产品页面上主图像的src.

我通过使用这种方法解决了这个问题......如果有的话,请提出新的想法或更好的解决方案......