在magento中设置可配置下拉菜单的默认值

6rqinv9w  于 2022-11-12  发布在  其他
关注(0)|答案(4)|浏览(135)

我有一个具有3个选项的可配置产品-这是产品页面上的下拉菜单。

Bundle Deals            

* Required Fields

Choose an Option...
- Single Product £10
- 5 Product Bundle £50
- 10 Product Bundle £100

页面加载的默认值是£10.00,但如果我点击添加到购物车,它会标记为-* Required Fields,并提示用户从下拉列表中选择一个选项。
默认情况下,我希望下拉菜单加载-Single Product £10作为默认值。
希望这一切都是有意义的?我无法找到这个功能在Magento版本1.9 CE,我正在使用

**最终编辑〉〉**感谢大家的帮助-得到了修复-非常高兴!访问链接..类似于这里的建议,但代码中的一些东西似乎对我有用

http://iamvikram.com/magento-remove-choose-an-option-from-configurable-products-dropdown/
一封感谢邮件已经寄出:)

liwlm1x9

liwlm1x91#

将以下文件复制到本地

/app/design/frontend/default/mytheme/template/catalog/product/view/type/options/configurable.phtml

<select name="super_attribute[<?php echo $_attribute->getAttributeId() ?>]" id="attribute<?php echo $_attribute->getAttributeId() ?>" class="required-entry super-attribute-select">
<option><?php echo $this->__('Choose an Option...') ?></option>
</select>

它将“Choose an Option...”显示为默认值
您可以像下面这样更改它,以简单地选择选择中的第一个实际元素:

$$('#attribute525 option')[1].selected = true;

请检查您的attributeid。以上只是一个示例。

e5nszbig

e5nszbig2#

导航到Catalog->Attributes->Manage Attributes在您的magento管理和搜索您的属性。
单击以编辑并将No选择为Values required.
希望它能起作用。
JQuery默认选择的第一个值为-

jQuery('#attribute135>option:eq(1)').attr('selected', true);
mm9b1k5b

mm9b1k5b3#

如果你有2个以上的选项(这很混乱,但你上面描述的是1个选项,3个选择),这可能会变得很棘手。假设颜色是第一个选项,大小的选择将在颜色被选择后更新。
例如,你有一件衬衫可在红色的大小(S,L)和蓝色的大小(M,L),一旦你选择蓝色,Magento观察事件'onChange'的颜色选项,并更新大小选项为M,L。
下面是我在PrototypeJS中正确地完成它所要做的事情:

<script type='text/javascript>
var spConfig = new Product.Config(<?php echo $this->getJsonConfig() ?>);

        document.observe('dom:loaded', function() {
            var el = $('attribute<?php echo $_attribute->getAttributeId() ?>');
            el.selectedIndex = 1;
            el[0].remove();
            if ("createEvent" in document) {
                var ev = document.createEvent("HTMLEvents");
                ev.initEvent("change", false, true);
                el.dispatchEvent(ev);
            } else {
                el.fireEvent("onchange");
            }  
</script>

configurable.phtml中,请注意fireEvent / dispatchEvent. el[0]。删除将去掉“选择一个选项..”
这是我所知道的侵入性最小的方法

5tmbdcev

5tmbdcev4#

Open app\design\frontend\[your package]\[your theme]\template\catalog\product\view\type\options\configurable.phtml

现在在后面添加下面的java脚本代码:-

var spConfig = new Product.Config(<?php echo $this->getJsonConfig() ?>);

function fireEvent(element,event){

if (document.createEventObject){

// dispatch for IE

var evt = document.createEventObject();

return element.fireEvent('on'+event,evt)

}

else{

// dispatch for firefox + others

var evt = document.createEvent("HTMLEvents");

evt.initEvent(event, true, true ); // event type,bubbling,cancelable

return !element.dispatchEvent(evt);

}

}

Event.observe(window, 'load', function() {

spConfig.settings[0].selectedIndex = 1;

obj = spConfig.settings[0]; // this grabs the first select item

Event.observe(obj,'change',function(){});

fireEvent(obj,'change'); // this simulates selecting the first option, which triggers

spConfig.settings[1].selectedIndex = 1; // this selects the first option of the second attribute drop menu
});

相关问题