public function AdminPathConfigEntityConverter::convert in Drupal 10
Same name in this branch
- 10 core/lib/Drupal/Core/ParamConverter/AdminPathConfigEntityConverter.php \Drupal\Core\ParamConverter\AdminPathConfigEntityConverter::convert()
- 10 core/lib/Drupal/Core/ProxyClass/ParamConverter/AdminPathConfigEntityConverter.php \Drupal\Core\ProxyClass\ParamConverter\AdminPathConfigEntityConverter::convert()
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/ParamConverter/AdminPathConfigEntityConverter.php \Drupal\Core\ParamConverter\AdminPathConfigEntityConverter::convert()
- 9 core/lib/Drupal/Core/ParamConverter/AdminPathConfigEntityConverter.php \Drupal\Core\ParamConverter\AdminPathConfigEntityConverter::convert()
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\ParamConverterCode
public function convert($value, $definition, $name, array $defaults) {
$entity_type_id = $this
->getEntityTypeFromDefaults($definition, $name, $defaults);
if (!$this->entityTypeManager
->hasDefinition($entity_type_id)) {
return NULL;
}
// 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);
}
}