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\ParamConverter
Code
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 (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)) {
return $storage
->loadOverrideFree($value);
}
}