class AdminPathConfigEntityConverter extends EntityConverter (View source)

Makes sure the unmodified ConfigEntity is loaded on admin pages.

Converts entity route arguments to unmodified entities as opposed to converting to entities with overrides, such as the negotiated language.

This converter applies only if the path is an admin path, the entity is a config entity, and the "with_config_overrides" element is not set to TRUE on the parameter definition.

Due to this converter having a higher weight than the default EntityConverter, every time this applies, it takes over the conversion duty from EntityConverter. As we only allow a single converter per route argument, EntityConverter is ignored when this converter applies.

Traits

Provides a trait to replace dynamic entity types in routes.

Properties

protected EntityTypeManagerInterface $entityTypeManager

Entity type manager which performs the upcasting in the end.

from  EntityConverter
protected EntityRepositoryInterface $entityRepository

Entity repository.

from  EntityConverter
protected ConfigFactoryInterface $configFactory

The config factory.

protected AdminContext $adminContext

The route admin context to determine whether a route is an admin one.

Methods

string
getEntityTypeFromDefaults(mixed $definition, string $name, array $defaults)

Determines the entity type ID given a route definition and route defaults.

__construct(EntityTypeManagerInterface $entity_type_manager, ConfigFactoryInterface $config_factory, AdminContext $admin_context, EntityRepositoryInterface $entity_repository = NULL)

Constructs a new EntityConverter.

mixed|null
convert(mixed $value, mixed $definition, string $name, array $defaults)

Converts path variables to their corresponding objects.

bool
applies(mixed $definition, string $name, Route $route)

Determines if the converter applies to a specific route and variable.

Details

protected string getEntityTypeFromDefaults(mixed $definition, string $name, array $defaults)

Determines the entity type ID given a route definition and route defaults.

Parameters

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

string

The entity type ID.

Exceptions

ParamNotConvertedException

__construct(EntityTypeManagerInterface $entity_type_manager, ConfigFactoryInterface $config_factory, AdminContext $admin_context, EntityRepositoryInterface $entity_repository = NULL)

Constructs a new EntityConverter.

Parameters

EntityTypeManagerInterface $entity_type_manager

The entity type manager.

ConfigFactoryInterface $config_factory

The config factory.

AdminContext $admin_context

The route admin context service.

EntityRepositoryInterface $entity_repository

The entity repository.

mixed|null convert(mixed $value, mixed $definition, string $name, array $defaults)

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.

bool applies(mixed $definition, string $name, Route $route)

Determines if the converter applies to a specific route and variable.

Parameters

mixed $definition

The parameter definition provided in the route options.

string $name

The name of the parameter.

Route $route

The route to consider attaching to.

Return Value

bool

TRUE if the converter applies to the passed route and parameter, FALSE otherwise.