我正在建立一个magento项目。在可配置产品中,在选择选项之前,正在显示价格。我需要修改它,如隐藏价格直到用户选择一个选项或在下拉列表中将任何一个选项作为默认选项。我已经浏览了谷歌并找到了一个隐藏的脚本在下拉列表中选择一个选项。但它没有用。我正在使用magento 1.8。
你能指导我实现这个目标。这是我找到的代码链接:
答案 0 :(得分:2)
如何从下拉列表中删除“选择一个选项”元素
使用Magento v1.9.2.1进行测试
将以下JavaScript添加到您的页面。这里只有3行是根据js/varien/configurable.js
中的原始逻辑编辑的。我把这些线留在那里,注释掉你看看有什么被修改过的。
Product.Config.prototype.fillSelect = function(element){
var attributeId = element.id.replace(/[a-z]*/, '');
var options = this.getAttributeOptions(attributeId);
this.clearSelect(element);
//element.options[0] = new Option('', '');
//element.options[0].innerHTML = this.config.chooseText;
var prevConfig = false;
if(element.prevSetting){
prevConfig = element.prevSetting.options[element.prevSetting.selectedIndex];
}
if(options) {
//var index = 1;
var index = 0;
for(var i=0;i<options.length;i++){
var allowedProducts = [];
if(prevConfig) {
for(var j=0;j<options[i].products.length;j++){
if(prevConfig.config.allowedProducts
&& prevConfig.config.allowedProducts.indexOf(options[i].products[j])>-1){
allowedProducts.push(options[i].products[j]);
}
}
} else {
allowedProducts = options[i].products.clone();
}
if(allowedProducts.size()>0){
options[i].allowedProducts = allowedProducts;
element.options[index] = new Option(this.getOptionLabel(options[i], options[i].price), options[i].id);
if (typeof options[i].price != 'undefined') {
element.options[index].setAttribute('price', options[i].price);
}
element.options[index].config = options[i];
index++;
}
}
}
}
答案 1 :(得分:1)
Kandarp B Patel's answer可能会帮助您删除“选择一个选项”选项。它在您引用的页面上对Inchoo的代码进行了一些修改。
Magento论坛回答how to remove the price from the configurable product options dropdown。