“Adjust Address Info For Japanese”エクステンション

2022年9月13日

このエクステンションでできること

Magentoのデフォルト状態では、名前(姓・名)の順序と住所の表示順序が欧米式で日本人にとって馴染みがないものとなっています。このエクステンションを導入すると、名前(姓・名)の順序と住所の表示順序が日本式になり、日本のお客様にとって違和感のない表示へ自動調整されます。
また無料で郵便番号の入力から住所を補完入力する機能も含まれていますので、よりお客様にとって使いやすいショップシステムを安価に提供できます。

ユーザーガイドの日本語版

(※)以下のテキストは"Adobe Commerce::Marketplace"で公開している “Adjust Address Info For Japanese"エクステンションの「User Guides version 1.0.4」の内容の日本語版になります。

イントロダクション

このエクステンションは、日本のお客様向けに名前と住所の表示順序ならびに入力フィールドの表示順序を調整します。
Magentoの名前と住所の表示順序は日本人にとって違和感があります。 このエクステンションによりストアの表示は日本の慣習に沿った名前・住所情報の表示順序となります。 これらの自動調整はフロントエンドとバックエンドの両方を適用されます。
また日本の郵便番号から都道府県、市区町村などを自動補完入力する機能も含まれます。

提供機能一覧

A) フロントエンド画面

以下ページの会員の名前データ表示と入力フィールドの順序を入れ替えます :
1:会員アカウント登録ページ
2:会員情報表示(アカウントサービス内)
以下ページの住所データ表示と入力フィールドの順序を入れ替えます :
3:購入手続きページ
4:注文完了メール本文
5:アドレス帳(アカウントサービス内)
6:注文履歴(アカウントサービス内)

B) バックエンド画面

以下ページの住所データ表示と入力フィールドの順序を入れ替えます :
1:Customerデータ
2:Orderデータ
3:Invoiceデータ
4:Credit Memoデータ

C) 郵便番号マスタデータ更新

インストール

Marketplaceが推奨している方法、Composerを使ってダウンロードします。

  • コマンドを実行(コマンドラインから)

例)Magentoインストールディレクトリ="/path/to/magento/", AdjustAddressInfoForJp version="1.2.0″の場合

su - magento_user
cd /path/to/magento/
composer require szmake/adjust-address-info-for-jp:1.2.0

ダウンロードが完了すると、“./vendor/szmake/adjust-address-info-for-jp/" の位置にソースコードが配置されます。
インストール手順について詳しくはこちらをご参照ください。
https://devdocs.magento.com/guides/v2.4/install-gde/install/cli/extensions.html

設定方法

最初に必要な作業と設定パラメータは下記の通りです。

1 「Jp-Address json files」の初回生成

「Jp-Address json files」(郵便番号データファイル)は、日本住所を補完入力するための辞書ファイルです。
「Jp-Address json files」の初期化コマンドは、最初に一度だけ実行する必要があります。
次のコマンドを実行すると、Json形式のデータファイルが生成されます。
CLIコンソールから操作(=コマンドライン経由)。

Magento2をセットアップしたルートフォルダに移動します。
・ コマンド実行

cd /path/to/magento/
php -f ./bin/magento szmake:init-postcode-json


下記メッセージがCLIコンソールに表示されます。

-----------------------------------------------------------------------------
$ php -f ./bin/magento szmake:init-postcode-json
Jp-Postcode Json file Initial-Build process start.
Unzip->/web/www/var/tmp/szmake/KEN_ALL_ROME.CSV
CSV_TOTAL_LINE=124524
Start output json.
**:10%
…
**:100%
Place the Jp-Postcode Json files master…->Done
Placement path->/web/www/pub/media/jp_postcode
Cleaning temp files…->Done
Jp-Postcode Json file Initial-Build was successful!
-------------------------------------------------------------------------------

正常に処理が終了すると"Jp-Postcode Json file Initial-Build was successful!"とメッセージが表示されます。

いつでも"Jp-Address json files"が正常に準備できているかをチェックすることができます。
Backendページから Stores > Configuration > General >Adjust Address Info For
Jp へ移動して”Jp-Postcode Json data files status”セクションを開きます。
“Check status”ボタンをクリックするとチェック結果が表示されます。

Magento2:“Adjust Address Info For Japanese”エクステンション:郵便番号検索機能チェック画面
Magento2:“Adjust Address Info For Japanese”エクステンション:郵便番号検索機能チェック画面OK時
[正しく準備できている場合の表示]
Magento2:“Adjust Address Info For Japanese”エクステンション:郵便番号検索機能チェック画面NG時
【正しく準備できていない場合の表示】

2 Website言語ロケールモードの設定

(Step.1)動作モード を “developer mode"にします。
“Locale Options::Locale" の設定変更は、MagnetoがDeveloperモードの時のみ変更できるため、最初にMagentoの動作モードをDeveloperモードに変更する必要があります。
Ref: https://devdocs.magento.com/guides/v2.4/config-guide/cli/config-cli-subcommands-mode.html#change-to-developer-mode
– コマンド実行(コマンドラインから)

php -f ./bin/magento deploy:mode:set developer

(Step.2) ロケール設定を“Japanese(Japan)”に変更します。
バックエンド画面 Stores > Configuration > General > Locale Options へ移動します。
すると、ロケール設定ページが表示されます。ここで"Japanese(Japan)"を選択して"Save Config"をクリックしてセーブします。

Magento2:“Adjust Address Info For Japanese”エクステンション:ロケール設定画面

(※)もしもLocaleのドロップダウンが無効化されている場合。原因はMagentoがDeveloperモードでないためです。その場合、前述(Step.1)の操作で"developer mode"に変更してください。

Magento2:“Adjust Address Info For Japanese”エクステンション:ロケール設定画面ドロップダウン無効時


(Step.3)設定キャッシュをクリアします。
– コマンド実行(コマンドラインから)

php -f ./bin/magento cache:flush

(Step.4)オペレーションモードを"Production mode"に戻します。
Ref: https://devdocs.magento.com/guides/v2.4/config-guide/cli/config-cli-subcommands-mode.html#change-to-production-mode
– コマンド実行(コマンドラインから)

php -f ./bin/magento deploy:mode:set production


(※)この"Website 言語ロケールモードの設定"は任意設定です。この設定をすると会員登録時ならびに、アカウントサービスのInformationにおいて、会員の名前項目の入力フィールドの表示順序が”FirstName”,"LastName"(名・姓)から"LastName",”FirstName”(姓・名)に変わります。

Magento2:“Adjust Address Info For Japanese”エクステンション:名前項目の入力フィールド表示順序調整された画面

3 日本住所専用の表示テンプレート設定

バックエンド画面 Stores > Configuration > General > Adjust Address Info For Jp へ移動して”Address Templates(Unique template for japanese addresses)”セクションを開きます。
すると、日本住所の時だけ使用される表示テンプレート設定の設定画面が表示されます。
デフォルトで日本での慣習的なフォーマットが設定されています。必要に応じて修正更新してください。

Magento2:“Adjust Address Info For Japanese”エクステンション:日本住所専用の表示テンプレート設定画面

このフォーマットは、Magentoの基本設定である"Customer::Address Templates"を拡張したものです。
(バックエンド画面 > Stores > Configuration > Customers > Customer Configuration > Address Templates)
各住所データの国選択が日本の場合のときのみ、この“Setting of Templates for Japan addresses only”で設定されたフォーマットに従って表示されます。
もしも、住所の国選択が日本以外の場合は、Magentoの基本設定に従って表示されます。
Magentoの基本設定”Customer::Address Templates”に従って表示されます。(Magento標準動作)

エクステンション適用後の例

このエクステンションの自動表示調整の例を示します。

A) フロントエンド画面
A1: Create New Customer Account Page【新規会員登録ページ】
(※)この部分は"Website Locale mode"をJapaneseを選択したときのみ自動調整されます。(参照:2 Website言語ロケールモードの設定)

Magento2:“Adjust Address Info For Japanese”エクステンション:新規会員登録ページ調整適用画面イメージ

A2: Account Information(Account Service)【アカウント情報(アカウントサービス)】
(※)この部分は"Website Locale mode"をJapaneseを選択したときのみ自動調整されます。(参照:2 Website言語ロケールモードの設定)

Magento2:“Adjust Address Info For Japanese”エクステンション:アカウント情報(アカウントサービス)調整適用画面イメージ

A3: Purchase Step Pages【購入手続きページ】
a)入力フィールドの自動表示調整

お客様が住所の国名を「Japan」または「日本」を選択した場合、入力項目の表示が日本の慣習にあった表示順序に自動調整されます。
入力フィールドの表示順序は以下の通りです。
“Last Name", “First Name", “Zip/Postal Code", “State/Province".
, “City", “Street Address", “Phone Number"
このとき、"Zip/Postal Code"の入力欄の右隣にボタン(住所検索ボタン)が表示されます。

Magento2:“Adjust Address Info For Japanese”エクステンション:お届け先住所入力画面の調整適用後

郵便番号を入力した後、住所検索ボタンを押すと、都道府県、市区町村、住所が自動的に補完入力されます。

Magento2:“Adjust Address Info For Japanese”エクステンション:郵便番号検索ボタンの動作イメージ

例) 郵便番号フィールドに“110001”を入力して住所検索ボタンを押すと、該当する都道府県、市区町村、住所が各フィールドに入力されます。

(*)住所検索ボタンを押しても何もおこらない場合、それは"Jp-Address json files"が作成されていないことが原因です。
最初に “1.「Jp-Address json files」の初回生成" に記載の操作をしてください。

b) 住所情報の自動表示調整
その住所の国選択がJapan(日本)の時、“Templates for Japan::HTML”のフォーマット設定に従って表示されます。
(※)参照: “3.日本住所専用の表示テンプレート設定”

Magento2:“Adjust Address Info For Japanese”エクステンション:住所情報の自動表示調整:お届け先住所
Magento2:“Adjust Address Info For Japanese”エクステンション:住所情報の自動表示調整:請求先住所

c) 住所の選択肢項目ラベルの表示調整
住所データの国がJapan(日本)の時、“Templates for Japan::Text One Line”のフォーマット設定に従って表示されます。
(※)参照: “3.日本住所専用の表示テンプレート設定”

Magento2:“Adjust Address Info For Japanese”エクステンション:住所選択項目ラベルの表示調整:請求先住所選択


A4: Order’s Mails Manuscript【注文メール本文表記】
請求先住所とお届け先住所について、住所データの国がJapan(日本)の時“Templates for Japan::HTML”のフォーマット設定に従って表示されます。

Magento2:“Adjust Address Info For Japanese”エクステンション:注文メール本文表記の表示調整

A5: Address Book(Account Service)【アドレス帳(アカウントサービス)】
その住所の国選択がJapan(日本)の時、"A3:Purchase Step Pages"と同じように表示されます。

Magento2:“Adjust Address Info For Japanese”エクステンション:アドレス帳(アカウントサービス)の表示調整
Magento2:“Adjust Address Info For Japanese”エクステンション:アドレス帳編集画面の表示調整

A6: Order History(Account Service)【注文履歴(アカウントサービス)】
その住所の国選択がJapan(日本)の時、“Templates for Japan::HTML”のフォーマット設定に従って表示されます。

Magento2:“Adjust Address Info For Japanese”エクステンション:注文履歴(アカウントサービス)画面の表示調整

B) バックエンド画面

B1: Customer Data Pages【会員DATA関連ページ】
会員DATA管理ページ (Backend > Customer) はフロントエンドと同じ表示調整がされます。
住所は国選択が"Japan(日本)"の時、入力フィールドが調整されます。

Magento2:“Adjust Address Info For Japanese”エクステンション:会員DATA関連ページ画面の表示調整:編集画面
Magento2:“Adjust Address Info For Japanese”エクステンション:会員DATA関連ページ画面の表示調整:データ表示画面

B2: Orders Data Pages【注文DATA関連ページ】
注文DATA管理ページ (Sales > Orders) はフロントエンドと同じ表示調整がされます。
住所は国選択が"Japan(日本)"の時、入力フィールドが調整されます。

Magento2:“Adjust Address Info For Japanese”エクステンション:注文DATA関連ページ画面の表示調整:データ表示画面
Magento2:“Adjust Address Info For Japanese”エクステンション:注文DATA関連ページ画面の表示調整:編集画面

B3: Invoices Data Pages【請求書DATA関連ページ】
請求書DATA関連ページ (Sales > Invoices) はフロントエンドと同じ表示調整がされます。

Magento2:“Adjust Address Info For Japanese”エクステンション:請求書DATA関連ページ画面の表示調整:データ表示画面

B4: Credit Memos Data Pages【クレジットメモDATA関連ページ】
クレジットメモDATA関連ページ (Sales > Credit Memos) はフロントエンドと同じ表示調整がされます。

Magento2:“Adjust Address Info For Japanese”エクステンション:クレジットメモDATA関連ページ画面の表示調整:データ表示画面

郵便番号辞書データの更新方法

このエクステンションの日本の郵便番号から都道府県、市区町村、住所を補完入力する機能について。実際の内部処理は”/pub/media/jp_postcode/*”に配置されているJSONファイルを参照して処理しています。

例)郵便番号を“100-0001”と入力したとき、“/pub/media/jp_postcode/100/0001.json”を参照しています。

これらの日本郵便番号定義データのマスターファイルは、「日本郵便株式会社」によって1年に1回程度更新・配布されます。
必要に応じて、最新版マスターファイルに基づいてJsonデータを再構築できます。

最新版の日本郵便番号定義データの取得

最新の定義データファイルは下記URLから無料でダウンロードできます。
https://www.post.japanpost.jp/zipcode/dl/roman-zip.html
“ken_all_rome.zip”という名前のZipファイルを入手します。

最新版の日本郵便番号定義データの取得方法

内部利用するJSONファイルのリビルド

(Step1) Zipファイルをサーバーへアップロード
「1 最新版の日本郵便番号定義データの取得」で入手した“ken_all_rome.zip” ファイルを運用中のMagentoサーバーへアップロードします。
アップロード先のディレクトリはどこでも構いません。
例)/path/to/magento/var/tmp/

(Step2) JSONファイル再生成コマンドの実行.
(※)この操作の更新対象はファイルのみです。データベースに影響を与えません。
– Magento2のセットアップフォルダへ移動します。
– コマンドを実行します。

cd /path/to/magento/
php -f ./bin/magento szmake:rebuild-postcode-json [uploaded zip file path]

例)Zipファイルを /path/to/magento/var/tmp/ken_all_rome.zip に配置している場合、コマンドは下記のようになります。

cd /path/to/magento/
php -f ./bin/magento szmake:rebuild-postcode-json ./var/tmp/ken_all_rome.zip

CLIコンソールに下記のようにメッセージが表示されます。

------------------------------------------------------------------------------
$ php -f ./bin/magento szmake:rebuild-postcode-json ./var/tmp/ken_all_rome.zip
Jp-Postcode Json file Rebuilding process start.
Unzip->/web/www/var/tmp/szmake/KEN_ALL_ROME.CSV
CSV_TOTAL_LINE=124524
Start output json.
**:10%
**:20%
**:30%
**:40%
**:50%
**:60%
**:70%
**:80%
**:90%
**:100%
Place the Jp-Postcode Json files master…->Done
Placement path->/web/www/pub/media/jp_postcode
Cleaning temp files…->Done
Jp-Postcode Json file Rebuilding was successful!
------------------------------------------------------------------------------

成功した場合"Jp-Postcode Json file Rebuilding was successful!"と表示されます。
以上です。