You are here

public function AdminPathConfigEntityConverter::convert in Drupal 8

Same name in this branch
  1. 8 core/lib/Drupal/Core/ParamConverter/AdminPathConfigEntityConverter.php \Drupal\Core\ParamConverter\AdminPathConfigEntityConverter::convert()
  2. 8 core/lib/Drupal/Core/ProxyClass/ParamConverter/AdminPathConfigEntityConverter.php \Drupal\Core\ProxyClass\ParamConverter\AdminPathConfigEntityConverter::convert()
Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/ParamConverter/AdminPathConfigEntityConverter.php \Drupal\Core\ParamConverter\AdminPathConfigEntityConverter::convert()

Converts path variables to their corresponding objects.

Parameters

mixed $value: The raw value.

mixed $definition: The parameter definition provided in the route options.

string $name: The name of the parameter.

array $defaults: The route defaults array.

Return value

mixed|null The converted parameter value.

Overrides EntityConverter::convert

1 call to AdminPathConfigEntityConverter::convert()
ViewUIConverter::convert in core/modules/views_ui/src/ParamConverter/ViewUIConverter.php
Converts path variables to their corresponding objects.
1 method overrides AdminPathConfigEntityConverter::convert()
ViewUIConverter::convert in core/modules/views_ui/src/ParamConverter/ViewUIConverter.php
Converts path variables to their corresponding objects.

File

core/lib/Drupal/Core/ParamConverter/AdminPathConfigEntityConverter.php, line 64

Class

AdminPathConfigEntityConverter
Makes sure the unmodified ConfigEntity is loaded on admin pages.

Namespace

Drupal\Core\ParamConverter

Code

public function convert($value, $definition, $name, array $defaults) {
  $entity_type_id = $this
    ->getEntityTypeFromDefaults($definition, $name, $defaults);

  // If the entity type is dynamic, confirm it to be a config entity. Static
  // entity types will have performed this check in self::applies().
  if (strpos($definition['type'], 'entity:{') === 0) {
    $entity_type = $this->entityTypeManager
      ->getDefinition($entity_type_id);
    if (!$entity_type
      ->entityClassImplements(ConfigEntityInterface::class)) {
      return parent::convert($value, $definition, $name, $defaults);
    }
  }
  if ($storage = $this->entityTypeManager
    ->getStorage($entity_type_id)) {

    // Make sure no overrides are loaded.
    return $storage
      ->loadOverrideFree($value);
  }
}