2

私はmagento 1.4.1.1を使用しており、友人(Daniel Sloof)[http://stackoverflow.com/questions/9411971/round-special-price-only-in-magento]の手がかりを使用しようとしましたが、うまくいきませんでした。bkp を復元する前に。

グループ商品を使用しており、すべてのグループ顧客の割引価格で切り上げを適用する必要があるため、卸売:30%、卸売:40%、卸売:50%

app/code/core/Mage/Core/Model/Store.php で使用してみます

public function roundPrice($price)  
{
return round((ceil($price*10)/10), 2);
}

問題はショッピング カートにあります。これは SUBTOTAL を丸めることはできません。またはこれを行うためのより簡単な(正しい)方法は?

4

1 に答える 1

0

roundPrice メソッドは、価格がユーザーに表示されるほとんどの場所で使用されるため、サイトに表示される他の価格も確実に変更されます。

製品モデルで getSpecialPrice メソッドを試してオーバーライドできます。これは、app/code/core/Mage/Catalog/Model/Product.php を app/code/local/Mage/Catalog/Model/Product.php にコピーし、そこで変更することで実行できます。

/**
 * Returns special price
 *
 * @return float
 */
public function getSpecialPrice()
{
    return $this->_getData('special_price');
}

への変更:

/**
 * Returns special price
 *
 * @return float
 */
public function getSpecialPrice()
{
    return round((ceil($this->_getData('special_price')*10)/10), 2);
}

私はこれをテストしていません。詳しく調べないとよくわからない問題が発生する可能性があります。Magento がこの方法を使用せずに別の方法で特別価格を取得する場所がある可能性があるため、自分でテストする必要があります :)

于 2012-11-27T09:38:41.750 に答える