/**
* @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. | 関連モジュール | タイトル |
|---|---|---|---|
| フォーム | 8.6.x | JavaScript | 特定のformに動的にJavaScriptをロードする方法 |
| 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 | 新規ノードを作成する |