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

时间:2013-11-30 11:20:01

标签: magento magento-1.7

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

我该怎么做?

谢谢...

2 个答案:

答案 0 :(得分: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);
     }

此方法将为我提供与可配置产品相​​关联的每个相关产品的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>

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

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

答案 1 :(得分:0)

还有一个扩展程序可根据所选选项Configurable Image Switcher更改可配置图像。

此扩展程序在产品页面上添加了可配置产品的功能。当客户在产品页面上选择可配置产品选项时,主图像将从选定的简单产品变为图像。

如果您关联的简单产品没有任何图像升级,它可能会更改为默认图像播放器或没有更改图像(可能在扩展程序的管理员设置中配置)

此外,扩展支持与基本模板具有不同图像大小的自定义缩放模块集成。

确保在安装扩展程序之前已禁用编译。系统&gt;工具&gt;编译页面,然后单击“禁用”按钮。安装后,您可以重新启用编译。