You are here

public function MenuLinkContent::__construct in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/menu_link_content/src/Plugin/Menu/MenuLinkContent.php \Drupal\menu_link_content\Plugin\Menu\MenuLinkContent::__construct()

Constructs a new MenuLinkContent.

Parameters

array $configuration: A configuration array containing information about the plugin instance.

string $plugin_id: The plugin_id for the plugin instance.

mixed $plugin_definition: The plugin implementation definition.

\Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager: The entity type manager.

\Drupal\Core\Language\LanguageManagerInterface $language_manager: The language manager.

\Drupal\Core\Entity\EntityRepositoryInterface $entity_repository: The entity repository.

Overrides PluginBase::__construct

File

core/modules/menu_link_content/src/Plugin/Menu/MenuLinkContent.php, line 95

Class

MenuLinkContent
Provides the menu link plugin for content menu links.

Namespace

Drupal\menu_link_content\Plugin\Menu

Code

public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, LanguageManagerInterface $language_manager, EntityRepositoryInterface $entity_repository = NULL) {
  parent::__construct($configuration, $plugin_id, $plugin_definition);
  if (!empty($this->pluginDefinition['metadata']['entity_id'])) {
    $entity_id = $this->pluginDefinition['metadata']['entity_id'];

    // Builds a list of entity IDs to take advantage of the more efficient
    // EntityStorageInterface::loadMultiple() in getEntity() at render time.
    static::$entityIdsToLoad[$entity_id] = $entity_id;
  }
  $this->entityTypeManager = $entity_type_manager;
  $this->languageManager = $language_manager;
  if (!$entity_repository) {
    @trigger_error('Calling MenuLinkContent::__construct() with the $entity_repository argument is supported in drupal:8.7.0 and will be required before drupal:9.0.0. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED);
    $entity_repository = \Drupal::service('entity.repository');
  }
  $this->entityRepository = $entity_repository;
}