0

我的网站是由magento系统构建的,用于购物。现在我添加了一个关于不错的外国价格的功能。例如:如果价格为 $35.4 ,则更改为 $34.99;如果价格为 $35.5 ,则更改为 $35.99;

代码为:round(35.4) + 0.99;

现在有个问题,我的产品有几个选项链接“类型”、“颜色”。并且不同的选项显示不同的价格,就像 magento 中的默认可配置产品一样。在产品页面中:价格为$1000 显示$999.99,红色+$100 显示+$99.99,输入大号+50 显示+49.99。这里总价是1149.97。但在购物聊天中,价格为(1000 + 100 +50)+0.99 = 1149.99。所以我不知道如何处理它。

有人帮助我.....等待你的建议。

4

1 回答 1

0

因为magento最终价格是onFly计算的,你应该覆盖

app/code/core/Mage/CatalogRule/Helper/Data.php

并将方法更改为 like as 。(你需要添加到 adminhtml 选项或硬编码它)

public function calcPriceRule($actionOperator, $ruleAmount, $price)
{
    $priceRule = 0;
    switch ($actionOperator) {
        case 'to_fixed':
            $priceRule = min($ruleAmount, $price);
            break;
        case 'to_percent':
            $priceRule = $price * $ruleAmount / 100;
            break;
        case 'by_fixed':
            $priceRule = max(0, $price - $ruleAmount);
            break;
        case 'by_percent':
            $priceRule = $price * (1 - $ruleAmount / 100);
            break;
        case 'my_custom_prices':
             //your price rules 
            break;
    }
    return $priceRule;
}
于 2014-01-22T01:02:20.133 回答