Drupal Commerceの住所関係は、日本風にはなっていません。
請求情報、配送情報の入力フォームや表示を日本的(郵便番号、都道府県、市区町村、住所、、、)にすには、どうしたら良いですか?
Drupal Commerceの請求情報、配送情報の住所を日本的(郵便番号、都道府県、市区町村、住所、、、)
OTHER FAQ
カテゴリ | Core Ver. | 関連モジュール | タイトル |
---|---|---|---|
Commerce2 | 8.6.x | Commerce Order | Commerceで注文情報から全Itemを得る方法 |
Commerce2 | 8.6.x | Commerce Shipment | Commerceで配送情報を得る方法 |
Commerce | 8.6.x | Commerce Payment Order | Commerceで歴代購入数/金額を集計する方法 |
コンテンツの管理 | 8.6.x | Commerce | Commerce orderからすべての商品名を取得する方法 |
サイトの環境設定 | 8.6.x | Simhony Yaml | yamlファイルを読み込む方法 |
フォーム | 8.6.x | JavaScript | 特定のformにJavaScriptを紐付ける方法 |
Commerce | 8.6.x | Commerce Payment Gateway | オリジナルCommerce決済モジュール(Offsite)で決済サーバーへのPOST時のエンコードを変更する方法 |
コンテンツの管理 | 8.5.x | Field File | コンテンツのフィールドの表示について |
Libraries | 8.5.x | Libraries | Commerceで外部JavaScriptをテスト/本番で読み分ける方法 |
JavaScript | 8.5.x | PHP | Commerce決済モジュール設定をJavaScriptにデータに渡す方法 |
サイトの構築 | 8.3x | Webform | Webformモジュール メールアドレスの入力ミス確認 |
Viewsプログラミング | 8.4x | Views | drupal8におけるViewsプログラミング |
サイト情報 | 8.4x | JavaScript | JavaScriptに変数を渡す方法 |
テーマ | 8.4x | hook_preprocess_html | bodyタグにnode idやaliasのClassを追加する方法 |
コンテンツの作成 | 8.4x | json | jQueryにjsonで渡す方法 |
コンテンツの作成 | 8.4x | Download | とにかく何でもコンテンツをダウンロードさせる方法 |
コンテンツの作成 | 8.4x | PhpSpreadsheet | Excelを読み書きする方法 |
コンテンツの作成 | 8.4x | archiver | zipファイル圧縮・解凍する方法 |
コンテンツの作成 | 8.4x | node | 新規ノードを作成する |
Views | 8.4x | hook_views_query_alter | Viewsクエリに多くの条件を追加する方法 |
コメント
Drupal Commerceにおいて
パーマリンク Submitted by actbrain on 2015/01/09 14:23.
Drupal Commerceにおいて、住所を制御しているのはAddressfieldフィールドです。
Addressfieldには、入力フォームや表示に手を加えるAPIが用意されています。
サーバー内:/path/to//addressfield/addressfield.api.php
〜
8 /**
9 * Format generation callback.
10 *
11 * @param $format
12 * The address format being generated.
13 * @param $address
14 * The address this format is generated for.
15 * @param $context
16 * An associative array of context information pertaining to how the address
17 * format should be generated. If no mode is given, it will initialize to the
18 * default value. The remaining context keys should only be present when the
19 * address format is being generated for a field:
20 * - mode: either 'form' or 'render'; defaults to 'render'.
21 * - field: the field info array.
22 * - instance: the field instance array.
23 * - langcode: the langcode of the language the field is being rendered in.
24 * - delta: the delta value of the given address.
25 *
26 * @ingroup addressfield_format
27 */
28 function CALLBACK_addressfield_format_callback(&$format, $address, $context = array()) {
29 // No example.
30 }
〜
こちら、説明がないので解りにくいのですが、以下の方法で実現できます。
1./path/to/your-module/your-module.module内でAddressfieldプラグイン登録を行います。
〜
36 /**
37 * Implements hook_ctools_plugin_directory().
38 */
39 function or_commerce_ctools_plugin_directory($module, $plugin) {
40 if ($module == 'addressfield') {
41 return "$plugin/$module"; // この場合、'/your-module/format/addressfield'になります。
42 }
43 }
〜
2.プラグインファイルを用意します(/path/to/your-module/format/addressfield/japanese.inc)
〜
1 <?php
2
3 /**
4 * @file
5 * Generates Japanese format.
6 */
7
8 $plugin = array(
9 'title' => t('Ajustment Japanese format'),
10 'format callback' => 'your-module_format_japanese_ajustment',
11 'type' => 'name',
12 'weight' => 100,
13 );
14
15 /**
16 * Format callback.
17 *
18 * @see CALLBACK_addressfield_format_callback()
19 */
20 function your-module_format_japanese_ajustment(&$format, $address) {
21
22 // 住所:入力フォーム表示順調整
23 $weight = $format['country']['#weight'];
24 $format['locality_block']['#weight'] = ++$weight;
25 $format['street_block']['#weight'] = ++$weight;
26 $format['organisation_block']['#weight'] = ++$weight;
27 $format['name_block']['#weight'] = ++$weight;
28
29 // 住所:入力フォームサイズ調整
30 $width = 30; // とか
31 foreach (array('locality_block', 'street_block', 'organisation_block', 'name_block') as $n) {
32 foreach ($format[$n] as $nam => &$ele) {
33 if (strpos($nam, '#') !== 0) {
34 if (isset($ele['#size'])) {
35 $ele['#size'] = $width;
36 }
37 }
38 }
39 }
40
41 // 住所:並びを「郵便番号・都道府県・市区町村」に調整
42 $locality = $format['locality_block']['locality'];
43 unset($format['locality_block']['locality']);
44 $format['locality_block']['locality'] = $locality;
45
46 // 住所:「郵便番号・都道府県・市区町村」の横配置(locality-block)を解除・・・クラス名変更
47 foreach ($format['locality_block']['#attributes']['class'] as &$class) {
48 if ($class == 'locality-block') {
49 $class .= '-your-module';
50 }
51 elseif ($class == 'addressfield-container-inline') {
52 $class .= '-your-module';
53 }
54 }
55 }
〜
Or
パーマリンク Submitted by actbrain on 2015/10/08 00:41.
Or CommerceモジュールをインストールしてDrupal Commerceの住所情報を日本風にする手順を公開しました。
http://www.act-brain.co.jp/howto/override-commerce-install
Or Commerceモジュールは https://support.cms-pr.com/download-module からダウンロードできます。
ページ