entityTypeManager = $entity_type_manager; $this->stringTranslation = $string_translation; } /** * {@inheritdoc} */ public static function create(ContainerInterface $container, $base_plugin_id) { return new static( $container->get('entity_type.manager'), $container->get('string_translation') ); } /** * {@inheritdoc} */ public function getDerivativeDefinitions($base_plugin_definition) { $this->derivatives = []; foreach ($this->entityTypeManager->getDefinitions() as $entity_type_id => $entity_type) { if ($entity_type->hasViewBuilderClass() && $entity_type->hasLinkTemplate('canonical')) { $entityqueue_route_name = "entity.$entity_type_id.entityqueue"; $this->derivatives[$entityqueue_route_name] = [ 'entity_type' => $entity_type_id, 'title' => $this->t('Entityqueue'), 'route_name' => $entityqueue_route_name, 'base_route' => "entity.$entity_type_id.canonical", // Ensure that the entityqueue tab is at the end of the list. 'weight' => 21, ] + $base_plugin_definition; } } return parent::getDerivativeDefinitions($base_plugin_definition); } }