オリジナルモジュールからtokenを提供する方法を教えて下さい。

カテゴリ token コアバージョン 7.34 関連モジュール token

メールの設定時やメタタグ設定時等、様々なシーンでtokenが利用できますが、オリジナルモジュールからtokenを提供する方法を教えて下さい。

コメント

ユーザー actbrain の写真

yourmodule.module内に以下のようなコードを追加します。

/**
 * Implements hook_token_info().
 */
function yourmodule_token_info() {
  $types['your-token-type'] = array(
    'name' => t('Your token type'),
    'description' => t('...'),
  );
  $tokens['your-token-name'] = array(
    'name' => t('Your token name'),
    'description' => t('Your token description.'),
  );
  return array(
    'types' => $types,
    'tokens' => array(
      'your-token-name' => $tokens,
    ),
  );
}
/**
 * Implements hook_tokens().
 */
function your-module-name_tokens($type, $tokens, $data = array(), $options = array()) {
  $replacements = array();
  $sanitize = !empty($options['sanitize']);
  switch ($type) {
    case 'your-token-type':
      $value = 'your-value';
      if ($sanitize) {
        $value = check_plain($value);
      }
      $replacements['your-token-name'] = $value;
      break;
  }
  return $replacements;
}

ページ

OTHER FAQ

Drupal開発・運用の疑問/質問の答えはここに

無料ユーザー登録すると質問できます。

カテゴリ Core Ver. 関連モジュール タイトル
PHP 8.9.x drush drush sql:cli < が機能しない場合の対処
フォーム 8.9.x Views Views exposed filterのフォームに#default_valueを仕込む方法
テーマ 8.9.x スマホに向いたテーマについて
アップデート 8.9.x composer patch patch を composer に 組み込む方法
PHP-FPM 8.9.x PHP PHP-FPM 環境で .htaccess に php_value を 書いてもダメ
サイトの構築 8.9.x Webform drupalを使用した登録、一覧表示の方法について
アップデート 8.9.x Composer update Composer で drupal/core-8.9.7 に更新できなくなった場合の処置
サイトの構築 7.59 Drupal.ajax drupal 7 で Uncaught TypeError: Drupal.ajax is undefined となったときの対応方法
Proxy 7.59 Proxy Apache settings.php リバースプロキシ(Apache)+バックグランドWeb(Drupal 7 )でログインセッションを維持する方法
リバースプロキシ 8.9.x mod_proxy mod_proxy_http mod_ssl Apache2.4 から httpsサーバーへリバースプロキシする方法
コンテンツの作成 8.9.x node ノード保存時の前回値の参照方法
サイト情報 8.9.x api Drupal::request() メモ
テーマ 8.9.x Twig Twig で 月末日を算出する方法
SESSION 8.9.x api $_SESION操作のAPI
フォーム 8.9.x api GET/POSTされた情報を得る方法
テーマ 8.9.x patch パッチ 開発環境のファイル変更を本番環境にパッチでデプロイする方法(画像含まず)
コンテンツの作成 8.9.x vim nkf ファイルのエンコーディングを確認、変更する方法
サイトの環境設定 7.59 さくらのレンタルサーバー php Options さくらのレンタルサーバーで パブリック/プライベートディレクトリにファイルが書き込まれないとき
ユーザの管理 8.9.x user pass drupal 8 で 管理者(uid=1)パスワードがわからなくなったとき 新しいパスワードを設定する方法
ユーザの管理 7.59 user pass drupal 7 で 管理者(uid=1)パスワードがわからなくなったとき 新しいパスワードを設定する方法

ページ