javascript - Magento - reloadPrice() 修改

标签 javascript php magento

我的客户需要对产品自定义选项进行操作。

使用 Magento CE,我创建了一个产品,并在“管理产品”>“添加新产品”的内置左侧菜单中为其提供了一些自定义选项,例如“mm”(毫米)和“mt"(米)

该产品将同时具有单选选项和文 native 器人输入。

假设我们有

Base price: 0 

MM:
Radio option A which costs 0,9
Radio option B which costs 1,2
Radio option C which costs 2,3 

MT:
Textbox value = unknown yet

假设用户选择 Radio option B 并在文本字段中输入 10

价格应该是这样更新的:

1,2 * 10 + 0

这是

radio value cost * textbox value + base price 

有什么方法可以让代码获取单选按钮的值,将其乘以文本框的值,然后将其全部加到基价上吗?

我在哪里可以查看产品自定义选项的当前行为?

编辑

我看到无论何时选择一个值,都会调用 reloadPrice() 函数。

我想检查两个输入是否都是广播和文本,然后获取文本的值并将其乘以广播的值。

是吗?你能指点我更好吗?

最佳答案

这对我有帮助,我希望这对你也有帮助

 initialize : function(config){
                this.config = config;
                this.reloadPrice();
                document.observe("dom:loaded", this.reloadPrice.bind(this));

            },
            reloadPrice : function(){
               price = new Number();
                config = this.config;
                skipIds = [];
                skipIds = [];
                relatedword = [];
                relatedvalue = [];
                relatedid = [];
                counter_each=0;
                counter=1;
                first=0;
                areaValue=1;
                submitbutton=true;

                $$('body .product-custom-option').each(function(element){
                    var optionId = 0;
                    element.name.sub(/[0-9]+/, function(match){
                        optionId = match[0];
                    });
                    if (this.config[optionId]) {
                        if (element.type == 'checkbox' || element.type == 'radio') 
                        {
                            if (element.checked) 
                            {
                                if (config[optionId][element.getValue()]) 
                                {
                                    <?php if(Mage::getVersion() >= 1.7): ?>
                                        price += parseFloat(config[optionId][element.getValue()].price);
                                    <?php else: ?>
                                        price += parseFloat(this.config[optionId][selectOption.value]);
                                    <?php endif; ?>  
                                }
                            }
                        }
}

关于javascript - Magento - reloadPrice() 修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30016855/

相关文章:

php foreach 在第一次迭代后停止

magento - Magento 目录价格规则有时会在白天消失

javascript - IE 淡入淡出导致图像出现白点

php - 行数没有错误,但结果错误

javascript - AngularJS 具有多个值的过滤器转发器

php - 使用 sha1 和 salt 存储密码

php - Magento 数据库平面表

apache - magento : some htaccess redirection doesn't work

javascript - Angularjs 过滤器允许空值使用自定义比较器不起作用?

javascript - js脚本仅显示来自mysql数据库的真实 bool 值