hook_tokens_alter(array &$replacements, array $context, \Drupal\Core\Render\BubbleableMetadata$bubbleable_metadata)
Alter replacement values for placeholder tokens.
$replacements: An associative array of replacements returned by hook_tokens().
$context: The context in which hook_tokens() was called. An associative array with the following keys, which have the same meaning as the corresponding parameters of hook_tokens():
\Drupal\Core\Render\BubbleableMetadata $bubbleable_metadata: The bubbleable metadata. In case you alter an existing token based upon a data source that isn't in $context['data'], you must add that dependency to $bubbleable_metadata.
function hook_tokens_alter(array &$replacements, array $context, \Drupal\Core\Render\BubbleableMetadata $bubbleable_metadata) { $options = $context['options']; if (isset($options['langcode'])) { $url_options['language'] = \Drupal::languageManager()->getLanguage($options['langcode']); $langcode = $options['langcode']; } else { $langcode = NULL; } if ($context['type'] == 'node' && !empty($context['data']['node'])) { $node = $context['data']['node']; // Alter the [node:title] token, and replace it with the rendered content // of a field (field_title). if (isset($context['tokens']['title'])) { $title = $node->field_title->view('default'); $replacements[$context['tokens']['title']] = drupal_render($title); } } }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Utility!token.api.php/function/hook_tokens_alter/8.1.x