テンプレート内での表示通貨の変更は可能でしょうか?

現在納品書の出力にOrder Printerアプリを使用しております。

海外からきた注文について、例えばアメリカからユーザがUSD(米国ドル)で注文された場合、

納品書の出力でline_itemsに対するforループ内で個々の商品(ここでは格納する変数名をline_itemとする)の価格を

{{ line_item.price | money }}を出力するとUSDの価格が表示されます。

{{ line_item.product.price }}を出力すると、商品登録時のJPY(日本円)に「.00」を接尾された値が表示時されます。

この後者の商品価格を「line_item.product.price | money」のように「money」filterを適用すると下2桁の次に区切り文字「.(ドット)」が挿入され、例えば6600円だったものが $66.00 USDと表示されてしまいます。

このような場合、日本円(JPY)で設定されている数値を日本円表記で表示させることは可能になりますでしょうか?

ご教授いただけますとご幸甚でございます。

要望を把握しかねていますが恐らく以下のフィルターが該当する思います。

上記では実現できないことを実現するためにJPYであることを判定したいという場合、orderオブジェクトに通貨に関する情報はないように見えるので以下のような無理矢理な方法を取る必要があるかもしれません。

  • money_with_currencyフィルターを通した値などを取得し、通貨記号や"JPY"が含まれているか否かなどを判定する

以上ですが、私が把握していないだけで通貨情報を取得できるかも知れませんので、そういった情報が必要な場合は他の方の回答を待たれると良いかと思います。

1 Like

ご回答誠にありがとうございました。

使用しているOrder Printerアプリでは帳票を出力する際に受注しているオーダーのcurrency codeを変更して出力することができない様でした。

filterも意図した挙動をしてくれず、他の方法を考えてみようと思います。

ありがとうございました。