0

ショップでは小数点以下 4 桁まで必要です。これまでのところ、私はいくつかのツッツをフォローしており、製品のフロントエンドとバックエンドでうまく機能しています。販売価格/請求書価格のみ、税金と合計は小数点以下 2 桁に丸められます。

次のファイルを編集/上書きしました。

\app\code\local\Mage\Adminhtml\Block\Catalog\Product\Edit\Tab\Options\Option.php

283行目あたりで変更 return number_format($value, 2, null, '');しましたreturn number_format($value, 4, null, '');

\app\code\local\Mage\Adminhtml\Block\Catalog\Product\Helper\Form\Price.php 

Option.php と同じ

\app\code\local\Mage\Core\Model\Store.php* 関数roundPrice()行 740の出力を次のように変更return round($price, 4);

関数内の \app\code\local\Mage\Directory\Model\Currency.php が 197 行で 2 から 4 にformat()変更されました。formatPrecision

\lib\Zend\Currency.php$_options['precision']を 2 から 4 に変更

\app\design\adminhtml\default\default\template\catalog\product\edit\price\tier.phtml echo sprintf('%.2f', $_item['price']);に変更sprintf('%.4f', $_item['price'])

丸め処理がある場合は、invoice.php などのコア ファイルや adminhtml ファイルを調べました。しかし、私は有用なものを見つけることができませんでした。

used extensions: (Magento 1.4.1.0)  
Asperience_DeleteAllOrders  
Flagbit_ChangeAttributeSet  
Mxperts_Invoice  
de_DE languagepack  

ありがとう、あいさつリト

マジェントラウンドの問題

(写真はドイツ語でごめんなさい)

4

3 に答える 3

1

私の最初の提案は、フロントエンドとバックエンドのヒント ( System>Config>Advanced>Developer) をオンにして、小数点以下 2 桁のコンテンツのレンダリングを担当するブロックと phtml ビューを確認できるようにすることです。Developer Toolbar 拡張機能をインストールすると、はるかに簡単になります。

あなたのスクリーンショットを見ると、それは Admin Sales Order ビューから来ていると思います。したがって、下の phtml ファイルapp/design/adminhtml/default/default/template/sales/order/create/totalsと Blocks =Mage_Adminhtml_Block_Sales_Order_Create_Totals_Defaultは見るのに適した場所です。関数は、formatPriceオーバーライドした Store.php と一部の Currency ファイルを使用しているようです。

@greg0ire が正しいと思います。これを追跡するには、リモート デバッグが必要です。どこかで上書きされている可能性がある$options['precision']ため、実行時にその値を確認する必要があります。

頑張れ、JD

PSキャッシュをクリアして無効にしたと思います... GUIではadminhtmlキャッシュがクリアされないSystem>Cache Managementことに注意してください。手動でファイルを削除する必要がありますvar/cache

于 2010-08-24T23:19:13.217 に答える
0

magento 1.5.1 で別の簡単な方法を見つけました

code/core/Mage/Directory/Model/Currency.php に行きます

行番号 194 を変更します。

public function format($price, $options=array(), $includeContainer = true, $addBrackets = false) { return $this->formatPrecision($price, 0, $options, $includeContainer, $addBrackets); }

0 - 価格の精度ポイントを示します。

于 2011-05-11T21:51:23.620 に答える
0

「合計」は良いヒントでした、thx to Jonathan Day

売上高/請求書の小数点以下 4 桁のソリューションを次に示します。

\app\code\local\Mage\Adminhtml\Block\Sales\Items\Abstract.php
次のコードを変更します:
行 292: 行 305:にfunction displayPrices()変更return $this->displayRoundedPrices($basePrice, $price, 4, $strong, $separator);
$precision=2$precision

\app\code\local\Mage\Sales\Model\Order.php 行 1358:

public function formatPrice($price, $addBrackets = false)
    {
        return $this->formatPricePrecision($price, 4, $addBrackets);
    }

私はそれが非常に汚いことを知っていますが、うまくいきます:)

于 2010-08-26T12:48:09.593 に答える