バージョン選択

フォーラム

メニュー

オンライン状況

55 人のユーザが現在オンラインです。 (46 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 55
もっと...

サイト内検索

質問 > フロント機能 > 通貨表示の切り替えによる小数点表記を削除したい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
Mayn
投稿日時: 2022/3/14 22:28
対応状況: −−−
半人前
登録日: 2022/2/7
居住地:
投稿: 14
通貨表示の切り替えによる小数点表記を削除したい
▼テンプレート
[EC-CUBE] 4.1.0
[レンタルサーバ] X-server
[OS] Window10
[PHP] 7.4.10
[データベース] MySQL 5.7.32
[WEBサーバ] Apache
[ブラウザ] chrom
[導入プラグインの有無] あり
[カスタマイズの有無] なし
[現象]
通貨を切り替えたところ、小数点2桁まで表示されるようになりました。
小数点は存在しない通貨だった為、小数点表記を削除したいと考えております。

https://doc4.ec-cube.net/i18n_currency
上記のドキュメントより、MoneyType.php もしくは PriceType.php のscaleと関連しているということだったのですが、どこを修正することで小数点表記が削除できるのか全く見当がついておらず、教えていただきたいです。

試したことは、MoneyType.php のデフォルトのscaleの値を2から0に('scale' => 2, → 'scale' => 0, )を変更しましたが、表示は変わっておりません。

public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'scale' => 0,
'grouping' => false,
'rounding_mode' => NumberToLocalizedStringTransformer::ROUND_HALF_UP,
'divisor' => 1,
'currency' => 'EUR',
'compound' => false,
]);

$resolver->setAllowedValues('rounding_mode', [
NumberToLocalizedStringTransformer::ROUND_FLOOR,
NumberToLocalizedStringTransformer::ROUND_DOWN,
NumberToLocalizedStringTransformer::ROUND_HALF_DOWN,
NumberToLocalizedStringTransformer::ROUND_HALF_EVEN,
NumberToLocalizedStringTransformer::ROUND_HALF_UP,
NumberToLocalizedStringTransformer::ROUND_UP,
NumberToLocalizedStringTransformer::ROUND_CEILING,
]);

$resolver->setAllowedTypes('scale', 'int');
}




red
投稿日時: 2022/3/15 10:04
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1570
Re: 通貨表示の切り替えによる小数点表記を削除したい
ECCUBE_CURRENCY=USD

ここを変えればいいだけなのではないでしょうか


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

Mayn
投稿日時: 2022/3/15 12:37
対応状況: −−−
半人前
登録日: 2022/2/7
居住地:
投稿: 14
Re: 通貨表示の切り替えによる小数点表記を削除したい
早速ありがとうございます。
ご指摘の箇所は、.envにて既に希望通貨に変更しておりました。

ECCUBE_CURRENCY=TWD

変更後、価格が小数点第二位まで表示される為、日本円と同じく整数のみの表記したいと考えております。

red
投稿日時: 2022/3/15 13:59
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1570
Re: 通貨表示の切り替えによる小数点表記を削除したい
PriceType.phpの
'scale' => $scale, を 'scale' => 0, に変えたらどうでしょうか?


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

Mayn
投稿日時: 2022/3/15 16:09
対応状況: −−−
半人前
登録日: 2022/2/7
居住地:
投稿: 14
Re: 通貨表示の切り替えによる小数点表記を削除したい
ありがとうございます!

教えて頂いた箇所を変更したところ、管理画面上の価格表示のみ整数で表示されるようになりましたが、フロント側の表示は小数点の記載のままとなっており、フロント側とは連携していないようでした。



red
投稿日時: 2022/3/15 17:49
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1570
Re: 通貨表示の切り替えによる小数点表記を削除したい
EccubeExtension の getPriceFilter を見るとPHPのデフォルトの挙動でTWDは小数点が表示されるようになってるみたいですね。
あまりいい方法が思いつかないので

return preg_replace("/\.?0+$/","",$formatter->formatCurrency($number, $currency));

としてやれば小数点以下を消せるのかなと思います。


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

Mayn
投稿日時: 2022/3/15 18:57
対応状況: −−−
半人前
登録日: 2022/2/7
居住地:
投稿: 14
Re: 通貨表示の切り替えによる小数点表記を削除したい
ありがとうございます。

EccubeExtension.phpを教えて頂いた方法で記載し、小数点を削除することができました。

大変助かりました。本当にありがとうございました!

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,710名です
総投稿数は109,948件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1285
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.