我正在尝试使用jquery加载可配置产品的选项,以使模板更快。我们的想法是显示默认选项,让客户选择他们想要更改的项目。但是,我找不到关于magento模块如何将某些东西返回到jQuery函数的方向。有什么想法吗?
<?php foreach($_attributes as $_attribute): ?>
<dt><label class="required"><em>*</em><?php echo $_attribute->getLabel() ?></label></dt>
<dd<?php if ($_attribute->decoratedIsLast){?> class="last"<?php }?>>
<div class="input-box">
<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>
</div>
</dd>
<?php endforeach; ?>
答案 0 :(得分:2)
所有项目的选项都是本地magento,包含在spConfig javascript对象中,它在catalog / product / view / type / options / configurable.phtml上定义
var spConfig = new Product.Config(<?php echo $this->getJsonConfig() ?>);
使用该对象,您可以获取属性使用的所有选项spConfig.config.attributes,以获取属性ID和代码的列表,使用spConfig.config.attributes [“attrId”]。选项您将获得选项该属性以及与该选项相关的产品将spConfig.config.attributes [“attrId”]。选项输出到控制台,您将获得一些对象,每个对象包含以下内容:
id
"1221"
label
"Gris"
oldPrice
"650"
price
"650"
products
["1137"]
ID是属性id标签是Option标签,oldPrice和price用于超级属性,oldPrice是defalt价格,price是属性的价格,products是具有此属性的产品列表。
要选择每个属性的第一个选项,请尝试:
<script type="text/javascript">
var spConfig = new Product.Config(<?php echo $this->getJsonConfig() ?>);
for(var i=spConfig.settings.length-1;i>=0;i--) {
spConfig.settings[i].selectedIndex = 1;
}
spConfig.reloadPrice();
</script>
答案 1 :(得分:0)
感谢所有帮助。它可能会帮助我完成下一步。我在这里找到了解决方案来启动解决方案。 http://www.atwix.com/magento/ajax-requests-in-magento/
有了这个,我可以使用默认选项加载可配置产品,然后显示客户想要更改的内容。