【shopify】配送先住所の国際番号付きの電話番号を見慣れた形式で出力する

スポンサーリンク

shopifyでは、お客様が商品の注文時には配送先電話番号(shipping_address.phone)は必須項目ではありませんが、例えば、クロネコヤマトさんや佐川急便さんでは電話番号が必須となっていたりするため、システム的に配送先電話番号の入力を必須にしているかと思います。

しかし、入力された配送先電話番号には国際番号(日本の場合は81)がついている場合があるため、09012345678といった電話番号の場合、

{{ shipping_address.phone }}

とテンプレートに記述すると、

+819012345678

と表示されてしまいます。

これでも解るといえば解るのですが、諸事情により、見慣れた0から始まる形式(090xxxとか080xxxといったやつ)がいいとのことだったので、調べてみたところ力技で解決するしかないとのことだったので、やってみました。

{{ shipping_address.phone | replace: '+811', '01' | replace: '+812', '02' | replace: '+813', '03' | replace: '+814', '04' | replace: '+815', '05' | replace: '+816', '06' | replace: '+817', '07' | replace: '+818', '08' | replace: '+819', '09' | replace: '+810', '0' }}

shipping_address.phoneの’+811’だったら、’01’に置き換える、’+82’だったら’02’と置き換えるというのを繰り返しています。(shipping_address.phoneの部分を置き換えると、電話番号系は対応できます)

これで問題なく、0から始まる見慣れた電話番号を出力することができました。

参考URL

Shopifyの電話番号から国際番号を取り除いて表示する – Tsun Inc.

エンジニアのためのShopify開発バイブル
Amazon.co.jp: エンジニアのためのShopify開発バイブル 電子書籍: フィードフォースグループ, 加藤 英也, 小飼 慎一, 佐藤 亮介, 大道 翔太, 長岡 正樹: Kindleストア

コメント

タイトルとURLをコピーしました