Javascript magento 1.7自定义选项不更新价格

Javascript magento 1.7自定义选项不更新价格,javascript,php,magento,options,Javascript,Php,Magento,Options,您好,我有一个带有自定义选项的简单产品,该特定产品的输入类型设置为下拉 在产品视图页面上,当下拉选择选项更改时,产品的价格不会更改,而是显示0.00英镑。 它在js控制台中抛出一个错误 Uncaught ReferenceError: spConfig is not defined 同样,这不是一个可配置的产品。如果我必须添加到购物车并继续签出,那么这些值将从自定义选项中添加 我知道这是一个javascript问题,我也知道它在js/varien/product.js下 但是我不知道在哪里做

您好,我有一个带有自定义选项的简单产品,该特定产品的输入类型设置为下拉

在产品视图页面上,当下拉选择选项更改时,产品的价格不会更改,而是显示0.00英镑。 它在js控制台中抛出一个错误

Uncaught ReferenceError: spConfig is not defined 
同样,这不是一个可配置的产品。如果我必须添加到购物车并继续签出,那么这些值将从自定义选项中添加

我知道这是一个javascript问题,我也知道它在js/varien/product.js下

但是我不知道在哪里做改变,或者做什么改变


非常感谢

您的两个问题没有直接关系。我们在这里遇到了同样的问题——我假设您正在使用“有机互联网”模块()。未捕获的引用错误可以通过在运行函数之前检查对象的存在来解决。(spConfig对象仅存在于可配置的产品页面上。)

在/skin/front/base/default/js/scp_product_extension.js中,像这样包装最后一个函数:

if (typeof spConfig != "undefined") {

    //SCP: Forces price labels to be updated on load
    //so that first select shows ranges from the start
    document.observe("dom:loaded", function() {
        //Really only needs to be the first element that has configureElement set on it,
        //rather than all.
        $('product_addtocart_form').getElements().each(function(el) {
            if(el.type == 'select-one') {
                if(el.options && (el.options.length > 1)) {
                    el.options[0].selected = true;
                    spConfig.reloadOptionLabels(el);
                }
            }
        });
    });
};
与0.00定价相关的实际问题是,该模块将产品页面上的产品选项HTML和JS替换为在从下拉列表中获取选项价格时不会返回有效响应的元素。到目前为止,我们似乎已经通过防止模块以这种方式被覆盖来解决这个问题。我不确定这是否是一个完整的修复,我们仍在测试

在/app/design/front/base/default/layout/simpleconfigurableproducts.xml中,注释掉或删除scpwrapper和scpoptions模板:

  <!--<reference name="product.info.options.wrapper">
        <action method="setTemplate"><template>catalog/product/view/options/scpwrapper.phtml</template></action>
    </reference>

    <reference name="product.info.options">
        <action method="setTemplate"><template>catalog/product/view/scpoptions.phtml</template></action>
    </reference>-->


如果我们发现更多信息/问题,我们将努力更新此帖子。

您的两个问题没有直接关系。我们在这里遇到了同样的问题——我假设您正在使用“有机互联网”模块()。未捕获的引用错误可以通过在运行函数之前检查对象的存在来解决。(spConfig对象仅存在于可配置的产品页面上。)

在/skin/front/base/default/js/scp_product_extension.js中,像这样包装最后一个函数:

if (typeof spConfig != "undefined") {

    //SCP: Forces price labels to be updated on load
    //so that first select shows ranges from the start
    document.observe("dom:loaded", function() {
        //Really only needs to be the first element that has configureElement set on it,
        //rather than all.
        $('product_addtocart_form').getElements().each(function(el) {
            if(el.type == 'select-one') {
                if(el.options && (el.options.length > 1)) {
                    el.options[0].selected = true;
                    spConfig.reloadOptionLabels(el);
                }
            }
        });
    });
};
与0.00定价相关的实际问题是,该模块将产品页面上的产品选项HTML和JS替换为在从下拉列表中获取选项价格时不会返回有效响应的元素。到目前为止,我们似乎已经通过防止模块以这种方式被覆盖来解决这个问题。我不确定这是否是一个完整的修复,我们仍在测试

在/app/design/front/base/default/layout/simpleconfigurableproducts.xml中,注释掉或删除scpwrapper和scpoptions模板:

  <!--<reference name="product.info.options.wrapper">
        <action method="setTemplate"><template>catalog/product/view/options/scpwrapper.phtml</template></action>
    </reference>

    <reference name="product.info.options">
        <action method="setTemplate"><template>catalog/product/view/scpoptions.phtml</template></action>
    </reference>-->

如果我们发现更多信息/问题,我们将努力更新此帖子