1

如果您查看我想“从中获取灵感”的网站上的以下产品页面。

http://www.pauls-hair-world.co.uk/best-sellers/beauty-works-celebrity-choice-100-remy-hair-extensions

如您所见,其中一个产品选项是选择产品的颜色,您可以选择单击“单击此处查看颜色图表”,您会看到许多显示产品颜色的图片可用的。

我知道如何使用我选择的选项添加下拉菜单的自定义选项,但我如何让它也显示这些图像。(此外,当您单击图像时,它会更改下拉菜单中的选项。

非常感谢任何帮助,即使是一个很好的资源的链接也可以。如果我同时弄清楚,我会在这里发布答案。(虽然不抱希望)。

提前致谢!

4

4 回答 4

2

这个扩展对你有用吗?
http://www.magentocommerce.com/magento-connect/temgra/extension/893/color-swatches

(注意;还有其他可用的扩展)

于 2010-12-30T12:00:17.410 回答
1

一般的方法是为每种可用颜色使用格式良好的 url(skin/images/hairsamples/jetsetblack.jpg然后为产品具有的每个选项回显可重复的 URL。使用 Javascript 将 onclick 事件绑定到图像,从选择中选择适当的选项盒子。

将下拉/颜色图表组合放到页面上实际上要复杂一些。您可以创建自定义选项类型,或者破解它,只需检测选项模板文件中的字段名称。


要支持基于制造商的颜色集,请修改上述内容,但skin/images/hairsamples/$manufacturer/$color.jpg改为使用。问题解决了!

于 2010-12-30T02:32:23.790 回答
1

我最终使用以下内容为下拉列表中的每个选项提取了文本和 ID。然后我使用它来创建单独的样本作为 div,其中包含每种颜色的图像。

function createColourSwatch(theid, filename) {
    if(theid != "" && filename != "NotSureSendMeSomeSamplesFirst" && filename != "PleaseSelect"){
        newSwatch = "<div class='swatchPanel' onClick='changeOption(\""+theid+"\")'><img src='"+imgLocation+filename+".jpg' /></div>";  
        return newSwatch;
    } else {
        return "";
    }
}


$j('.input-box:eq(0) option').each(function() {

    klass = $j(this).text().replace(/[^a-zA-Z 0-9]+/g,'');
    klass = klass.replace(/\s/gi,"");
    itsId = $j(this).val();

    $j('.colour-swatch:eq(0)').html($j('.colour-swatch:eq(0)').html()+createColourSwatch(itsId, klass));

});

然后使用不带空格或非字母数字字符的下拉文本值显示图像。例如“45/22 Deep Red”变成了“4522DeepRed.jpg”。

然后为每个样本提供以下函数,该函数会根据您单击的选项更改下拉值。

function changeOption(theId) {
    $j('.input-box select').val(theId);
}
于 2011-01-01T16:14:01.073 回答
0

只需在您的媒体文件中就可以轻松完成

只需加载所有显示无类的图像。并在鼠标上使用 jquery 只显示添加的图像

$(".className").show();

和鼠标悬停

$(".className").hide();
于 2011-04-15T01:29:39.163 回答