/** * @return array */ function yourmodule_token_info() { return [ 'types' => [ 'your-token-name' => [ 'name' => t('Settings'), 'description' => t('...'), ], ], 'tokens' => [ 'your-token-name' => [ 'your_token_name-1' => [ 'name' => t('...'), 'description' => t('...'), ], 'your_token_name-2' => [ 'name' => t('...'), 'description' => t('...'), ], ], ], ]; } /** * @param $type * @param $tokens * @param array $data * @param array $options * @param \Drupal\Core\Render\BubbleableMetadata $bubbleable_metadat * * @return array */ function yourmodule_tokens($type, $tokens, array $data, array $options, BubbleableMetadata $bubbleable_metadat) { $replacements = []; $sanitize = !empty($options['sanitize']); switch ($type) { case 'your-token-name': $replacements['[your_token_name-1]'] = '...'; $replacements['[your_token_name-2]'] = '...'; break; } return $replacements; }
カスタムモジュールからtokenを提供する方法(drupal8版)
OTHER FAQ
カテゴリ | Core Ver. | 関連モジュール | タイトル |
---|---|---|---|
言語 | 7.28 | vim | vimで全角が化けてしまう |
アップデート | 7.28 | DisableMessages | モジュールのアップデートガイダンスを非表示にしたい |
アップデート | 7.28 | Views | Pagerが表示されなくなった |
ユーザの管理 | 7.27 | PHP | 新規ユーザーの追加ができない |
サイトの構築 | 7.27 | Context block | ページ別、カテゴリ別等でブロックの表示有無を簡単にするには |
サイトの構築 | 7.26 | Field Views | フォーム選択肢(プルダウンやチェックボックス、ラジオボタン)のカスタマイズ方法 |
コンテンツの作成 | 7.26 | CKEditor Views | Viewsでティザーを一覧するとページのレイアウトが崩れることがある |
排他 | 7.26 | lock | Viewsモジュールの設定ページのような排他機能 |
コンテンツの作成 | 7.26 | Form Ajax | 入力フォームで#ajax使用時、#default_valueを書き換えても反映しない |
チューニング | 7.26 | PHP | DrupalはNginxで動く? |
表示 | 7.26 | Views | ページ内に2つ目Viewsブロックを設置するときPagerが連動してしまう |
コンテンツの作成 | 7.26 | PHP | ノード内の一部(フィールド)を変更する |
ユーザ | 7.23 | User | 長い投稿者名の表示が切れる |
コンテンツの作成 | 7.23 | maxlength | テキストフィールドの最大長のチェック&カウントダウン |
サイトの環境設定 | 7.23 | Pathauto | 自動生成されるURLエイリアスがおかしい |
テーマ | 7.23 | hook | ページや状況によってテーマを切り替える |
サイトの構築 | 7.23 | Conditional fields | ノード編集フォームを動的にしたい |
ブロック | 7.23 | 伸縮するfieldsetブロックを追加したい | |
サイトの環境設定 | 7.23 | Image Style | 画像スタイルの使い方(Crop) |
ユーザ | 7.23 | PHP | user_load_multiple()の復帰値 |