Magento定制产品选项

时间:2010-12-30 00:31:22

标签: php magento magento-1.4

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

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

正如您所看到的,其中一个产品选项是选择产品的颜色,您可以选择“点击此处查看颜色图表”,然后会显示大量显示颜色的图片。可用的产品。

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

非常感谢任何帮助,即使是指向优秀资源的链接也可以。如果我在同一时间弄清楚,我会在这里发布答案。 (虽然没有希望)。

提前致谢!

4 个答案:

答案 0 :(得分:2)

此扩展程序对您有用吗?
http://www.magentocommerce.com/magento-connect/temgra/extension/893/color-swatches

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

答案 1 :(得分:1)

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

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


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

答案 2 :(得分: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”。

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

function changeOption(theId) {
    $j('.input-box select').val(theId);
}

答案 3 :(得分:0)

只是在您的媒体文件中,这很简单

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

的图像
$(".className").show();

和关于mouseout

$(".className").hide();