<?php
/**
* Implement hook_token_info()
*/
function hook_token_info() {
$types['module_name'] = [
'name' => t('Module name token type.', [], ['context' => 'acc']),
'description' => t('Defined acc custom token type', [], ['context' => 'acc']),
];
$tokens['message'] = [
'name' => t('User entered message', [], ['context' => 'acc']),
'description' => t('Defined acc custom token name', [], ['context' => 'acc']),
];
return [
'types' => $types,
'tokens' => [
'profile' => $tokens,
],
];
}
/**
* Implement hook_token()
*/
function hook_token($type, $tokens, array $data, array $options, BubbleableMetadata $bubbleable_metadata) {
$replacements = [];
if ($type == 'module_name') {
foreach ($tokens as $name => $original) {
switch ($name) {
case 'message':
$replacements[$original] = $data['message'];
break;
}
}
}
return $replacements;
}