我们有一个Magento商店,其中一些产品具有自定义选项作为单选按钮。每个非必需选项默认选中第一个按钮,但不是必需选项。我怎样才能检查它们?
我已经安装了扩展Dependent Custom Options(gallery)。这使我可以选择设置默认选中哪个自定义选项,但不会将价格更新为正确的值。
感谢evey的帮助
答案 0 :(得分:3)
这个解决方案对您来说可能不是最好的,但我遇到了同样的问题,并且修复了它。
首先,我必须使用一种复杂的方法在Magento中正确安装jQuery。部分问题,我认为来自Spriptaculous Effects文件已经过时了最新的Magento版本。所以我去了www.script.aculo.us网站并下载了最新版本。然后我拿出了effects.js文件并用它来覆盖:./ / p>中的effects.js
[Magento的] / JS / Scriptaculous的
然后我从jQuery站点下载了jQuery,并创建了一个名为jquery的文件夹:
[Magento的] / JS /
并将jquery文件转储到那里。
然后我打开了文件:
[Magento的] /app/design/frontend/default/default/layout/page.xml
找到一个如下所示的行列表:
<action method="addJs"><script>scriptaculous/effects.js</script></action>
我复制了其中一个并将路径替换为jquery文件的路径。
<action method="addJs"><script>jquery/jquery-1.6.1.min.js</script></action>
现在jQuery将包含在您的所有页面中。
重要!你必须在noConflict()模式下运行jQuery。所以这就是JS的样子(对我来说)用来选择任何页面上带有自定义选项的第一个单选按钮。
var $j = jQuery.noConflict();
$j(document).ready(function(){
// auto selects the first input with radio class
$j('.options-list input.radio:first').attr('checked','checked');
});
我将该文件保存到我的jquery文件夹中并以与链接到jQ库相同的方式链接到它。
冲了我的缓存,瞧!
我希望这有帮助!
答案 1 :(得分:2)
你可以使用jQuery,正如Gordon所说,但是为了更新你需要在检查时运行opConfig.reloadPrice()函数的价格。所以代码将是这样的:
var $j = jQuery.noConflict();
$j(document).ready(function(){
// auto selects the first input with radio class
$j('.options-list input.radio:first').attr('checked','checked');
opConfig.reloadPrice();
});
答案 2 :(得分:1)
有一个名为optionsConfig.reloadPrice()
的javascript函数,在调用时,会根据选项更新价格。您可能需要在dom:loaded
事件期间触发此操作。
答案 3 :(得分:1)
转到app \ code \ core \ Mage \ Catalog \ Block \ Product \ View \ Options \ Type \ select.php
您可以在此处找到自定义选项标题,并设置条件与您的标题。
例如,我的自定义选项标题是价格:
如果($这 - &GT; htmlEscape($ _选项 - &GT;的getTitle()== '价格'))