テーマ |
8.3x |
Theme |
drupal8 で パスに応じたページテンプレート名を利用する方法 |
token |
7.34 |
token |
オリジナルモジュールからtokenを提供する方法を教えて下さい。 |
Token |
8.4x |
Token |
カスタムモジュールからtokenを提供する方法(drupal8版) |
テーマ |
8.9.x |
Twig |
Twig で 月末日を算出する方法 |
ユーザ |
7.23 |
User |
長い投稿者名の表示が切れる |
ユーザ |
7.38 |
user form |
新規ユーザー登録時、パスワード再設定時のパスワード入力抜けを防ぎたい |
ユーザの管理 |
8.9.x |
user pass |
drupal 8 で 管理者(uid=1)パスワードがわからなくなったとき 新しいパスワードを設定する方法 |
ユーザの管理 |
7.59 |
user pass |
drupal 7 で 管理者(uid=1)パスワードがわからなくなったとき 新しいパスワードを設定する方法 |
video |
8.4x |
video map |
動画上にクリッカブルマップを作成する方法 |
サイトの構築 |
7.22 |
Views |
フィールドセットの伸縮をノンプログラミングでやりたい |
コンテンツの作成 |
7.38 |
Views |
CSV出力にHTMLが入ってしまう |
コンテンツの作成 |
6.x |
Views |
カルーセルのように回転するコンテンツを作りたい |
ブロック |
7.15 |
Views |
ひとつのViewsをページやブックページ中で再利用する方法は? |
フォーム |
8.9.x |
Views |
Views exposed filterのフォームに#default_valueを仕込む方法 |
フォーム |
7.38 |
Views |
Views一覧の絞り込み検索フォームで複数フィールドを対象にしたい |
Viewsプログラミング |
8.4x |
Views |
drupal8におけるViewsプログラミング |
サイトの構築 |
7.31 |
Views |
ブロックViewsの絞り込みが表示されない |
アップデート |
7.28 |
Views |
Pagerが表示されなくなった |
表示 |
7.26 |
Views |
ページ内に2つ目Viewsブロックを設置するときPagerが連動してしまう |
Viewsプログラミング |
8.6.x |
Views |
Drupal8 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 からダウンロードできます。
ページ