質問 > フロント機能 > 通貨表示の切り替えによる小数点表記を削除したい |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
Mayn |
投稿日時: 2022/3/15 18:57
対応状況: −−−
|
半人前 登録日: 2022/2/7 居住地: 投稿: 14 |
Re: 通貨表示の切り替えによる小数点表記を削除したい ありがとうございます。
EccubeExtension.phpを教えて頂いた方法で記載し、小数点を削除することができました。 大変助かりました。本当にありがとうございました! |
red |
投稿日時: 2022/3/15 17:49
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1570 |
Re: 通貨表示の切り替えによる小数点表記を削除したい EccubeExtension の getPriceFilter を見るとPHPのデフォルトの挙動でTWDは小数点が表示されるようになってるみたいですね。
あまりいい方法が思いつかないので return preg_replace("/\.?0+$/","",$formatter->formatCurrency($number, $currency)); としてやれば小数点以下を消せるのかなと思います。
|
Mayn |
投稿日時: 2022/3/15 16:09
対応状況: −−−
|
半人前 登録日: 2022/2/7 居住地: 投稿: 14 |
Re: 通貨表示の切り替えによる小数点表記を削除したい ありがとうございます!
教えて頂いた箇所を変更したところ、管理画面上の価格表示のみ整数で表示されるようになりましたが、フロント側の表示は小数点の記載のままとなっており、フロント側とは連携していないようでした。 |
red |
投稿日時: 2022/3/15 13:59
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1570 |
Re: 通貨表示の切り替えによる小数点表記を削除したい PriceType.phpの
'scale' => $scale, を 'scale' => 0, に変えたらどうでしょうか?
|
Mayn |
投稿日時: 2022/3/15 12:37
対応状況: −−−
|
半人前 登録日: 2022/2/7 居住地: 投稿: 14 |
Re: 通貨表示の切り替えによる小数点表記を削除したい 早速ありがとうございます。
ご指摘の箇所は、.envにて既に希望通貨に変更しておりました。 ECCUBE_CURRENCY=TWD 変更後、価格が小数点第二位まで表示される為、日本円と同じく整数のみの表記したいと考えております。 |
red |
投稿日時: 2022/3/15 10:04
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1570 |
Re: 通貨表示の切り替えによる小数点表記を削除したい ECCUBE_CURRENCY=USD
ここを変えればいいだけなのではないでしょうか
|
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'); } |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |