public function TokenReplacer::replaceUserDefined in Menu Token 8
Same name and namespace in other branches
- 9.1.x src/Service/TokenReplacer.php \Drupal\menu_token\Service\TokenReplacer::replaceUserDefined()
 
Replace token string with the value from context.
Parameters
string $token: Token to be replaced.
string $key: Key in token.
string $value: Admin submited value.
\Drupal\Core\Render\BubbleableMetadata $b: Bubable metadata for cache context.
Return value
array|string Returns replaced token.
File
- src/
Service/ TokenReplacer.php, line 184  
Class
- TokenReplacer
 - TokenReplacer class.
 
Namespace
Drupal\menu_token\ServiceCode
public function replaceUserDefined($token, $key, $value, BubbleableMetadata $b) {
  $token_type = $this
    ->getTokenType($token);
  $entity_type = $this->tokenEntityMapper
    ->getEntityTypeForTokenType($token_type);
  $entity_object = $this->entityTypeManager
    ->getStorage($entity_type)
    ->load($value);
  $replacement = $this->tokenService
    ->generate($token_type, [
    $key => $token,
  ], [
    $token_type => $entity_object,
  ], [], $b);
  return $replacement;
}