class EntityController implements ContainerInjectionInterface (View source)

Provides the add-page and title callbacks for entities.

It provides:

  • The add-page callback.
  • An add title callback for entity types.
  • An add title callback for entity types with bundles.
  • A view title callback.
  • An edit title callback.
  • A delete title callback.

Traits

Wrapper methods for \Drupal\Core\StringTranslation\TranslationInterface.

Properties

protected TranslationInterface $stringTranslation

The string translation service.

from  StringTranslationTrait
protected EntityTypeManagerInterface $entityTypeManager

The entity type manager.

protected EntityTypeBundleInfoInterface $entityTypeBundleInfo

The entity type bundle info.

protected EntityRepositoryInterface $entityRepository

The entity repository.

protected RendererInterface $renderer

The renderer.

Methods

t(string $string, array $args = [], array $options = [])

Translates a string to the current language or to a given language.

formatPlural($count, $singular, $plural, array $args = [], array $options = [])

Formats a string containing a count of items.

getNumberOfPlurals($langcode = NULL)

Returns the number of plurals supported by a given language.

getStringTranslation()

Gets the string translation service.

$this
setStringTranslation(TranslationInterface $translation)

Sets the string translation service to use.

__construct(EntityTypeManagerInterface $entity_type_manager, EntityTypeBundleInfoInterface $entity_type_bundle_info, EntityRepositoryInterface $entity_repository, RendererInterface $renderer, TranslationInterface $string_translation, UrlGeneratorInterface $url_generator)

Constructs a new EntityController.

static 
create(ContainerInterface $container)

Instantiates a new instance of this class.

RedirectResponse
redirect(string $route_name, array $route_parameters = [], array $options = [], int $status = 302)

Returns a redirect response object for the specified route.

RedirectResponse|array
addPage(string $entity_type_id)

Displays add links for the available bundles.

string
addTitle(string $entity_type_id)

Provides a generic add title callback for an entity type.

string
addBundleTitle(RouteMatchInterface $route_match, string $entity_type_id, string $bundle_parameter)

Provides a generic add title callback for entities with bundles.

string|null
title(RouteMatchInterface $route_match, EntityInterface $_entity = NULL)

Provides a generic title callback for a single entity.

string|null
editTitle(RouteMatchInterface $route_match, EntityInterface $_entity = NULL)

Provides a generic edit title callback.

string
deleteTitle(RouteMatchInterface $route_match, EntityInterface $_entity = NULL)

Provides a generic delete title callback.

doGetEntity(RouteMatchInterface $route_match, EntityInterface $_entity = NULL)

Determines the entity.

array
loadBundleDescriptions(array $bundles, EntityTypeInterface $bundle_entity_type)

Expands the bundle information with descriptions, if known.

Details

protected TranslatableMarkup t(string $string, array $args = [], array $options = [])

Translates a string to the current language or to a given language.

See \Drupal\Core\StringTranslation\TranslatableMarkup::__construct() for important security information and usage guidelines.

In order for strings to be localized, make them available in one of the ways supported by the

Parameters

string $string

A string containing the English text to translate.

array $args

(optional) An associative array of replacements to make after translation. Based on the first character of the key, the value is escaped and/or themed. See \Drupal\Component\Render\FormattableMarkup::placeholderFormat() for details.

array $options

(optional) An associative array of additional options, with the following elements:

  • 'langcode' (defaults to the current language): A language code, to translate to a language other than what is used to display the page.
  • 'context' (defaults to the empty context): The context the source string belongs to. See the @link i18n Internationalization topic @endlink for more information about string contexts.

Return Value

TranslatableMarkup

An object that, when cast to a string, returns the translated string.

See also

FormattableMarkup::placeholderFormat
TranslatableMarkup::__construct

protected formatPlural($count, $singular, $plural, array $args = [], array $options = [])

Formats a string containing a count of items.

Parameters

$count
$singular
$plural
array $args
array $options

See also

TranslationInterface::formatPlural

protected getNumberOfPlurals($langcode = NULL)

Returns the number of plurals supported by a given language.

Parameters

$langcode

See also

PluralFormulaInterface::getNumberOfPlurals

protected TranslationInterface getStringTranslation()

Gets the string translation service.

Return Value

TranslationInterface

The string translation service.

$this setStringTranslation(TranslationInterface $translation)

Sets the string translation service to use.

Parameters

TranslationInterface $translation

The string translation service.

Return Value

$this

__construct(EntityTypeManagerInterface $entity_type_manager, EntityTypeBundleInfoInterface $entity_type_bundle_info, EntityRepositoryInterface $entity_repository, RendererInterface $renderer, TranslationInterface $string_translation, UrlGeneratorInterface $url_generator)

Constructs a new EntityController.

Parameters

EntityTypeManagerInterface $entity_type_manager

The entity type manager.

EntityTypeBundleInfoInterface $entity_type_bundle_info

The entity type bundle info.

EntityRepositoryInterface $entity_repository

The entity repository.

RendererInterface $renderer

The renderer.

TranslationInterface $string_translation

The string translation.

UrlGeneratorInterface $url_generator

The url generator.

static create(ContainerInterface $container)

Instantiates a new instance of this class.

This is a factory method that returns a new instance of this class. The factory should pass any needed dependencies into the constructor of this class, but not the container itself. Every call to this method must return a new instance of this class; that is, it may not implement a singleton.

Parameters

ContainerInterface $container

The service container this instance should use.

protected RedirectResponse redirect(string $route_name, array $route_parameters = [], array $options = [], int $status = 302)

Returns a redirect response object for the specified route.

Parameters

string $route_name

The name of the route to which to redirect.

array $route_parameters

(optional) Parameters for the route.

array $options

(optional) An associative array of additional options.

int $status

(optional) The HTTP redirect status code for the redirect. The default is 302 Found.

Return Value

RedirectResponse

A redirect response object that may be returned by the controller.

RedirectResponse|array addPage(string $entity_type_id)

Displays add links for the available bundles.

Redirects to the add form if there's only one bundle available.

Parameters

string $entity_type_id

The entity type ID.

Return Value

RedirectResponse|array

If there's only one available bundle, a redirect response. Otherwise, a render array with the add links for each bundle.

string addTitle(string $entity_type_id)

Provides a generic add title callback for an entity type.

Parameters

string $entity_type_id

The entity type ID.

Return Value

string

The title for the entity add page.

string addBundleTitle(RouteMatchInterface $route_match, string $entity_type_id, string $bundle_parameter)

Provides a generic add title callback for entities with bundles.

Parameters

RouteMatchInterface $route_match

The route match.

string $entity_type_id

The entity type ID.

string $bundle_parameter

The name of the route parameter that holds the bundle.

Return Value

string

The title for the entity add page, if the bundle was found.

string|null title(RouteMatchInterface $route_match, EntityInterface $_entity = NULL)

Provides a generic title callback for a single entity.

Parameters

RouteMatchInterface $route_match

The route match.

EntityInterface $_entity

(optional) An entity, passed in directly from the request attributes.

Return Value

string|null

The title for the entity view page, if an entity was found.

string|null editTitle(RouteMatchInterface $route_match, EntityInterface $_entity = NULL)

Provides a generic edit title callback.

Parameters

RouteMatchInterface $route_match

The route match.

EntityInterface $_entity

(optional) An entity, passed in directly from the request attributes.

Return Value

string|null

The title for the entity edit page, if an entity was found.

string deleteTitle(RouteMatchInterface $route_match, EntityInterface $_entity = NULL)

Provides a generic delete title callback.

Parameters

RouteMatchInterface $route_match

The route match.

EntityInterface $_entity

(optional) An entity, passed in directly from the request attributes, and set in \Drupal\Core\Entity\Enhancer\EntityRouteEnhancer.

Return Value

string

The title for the entity delete page.

protected EntityInterface|null doGetEntity(RouteMatchInterface $route_match, EntityInterface $_entity = NULL)

Determines the entity.

Parameters

RouteMatchInterface $route_match

The route match.

EntityInterface $_entity

(optional) The entity, set in \Drupal\Core\Entity\Enhancer\EntityRouteEnhancer.

Return Value

EntityInterface|null

The entity, if it is passed in directly or if the first parameter of the active route is an entity; otherwise, NULL.

protected array loadBundleDescriptions(array $bundles, EntityTypeInterface $bundle_entity_type)

Expands the bundle information with descriptions, if known.

Parameters

array $bundles

An array of bundle information.

EntityTypeInterface $bundle_entity_type

The bundle entity type definition.

Return Value

array

The expanded array of bundle information.