entityType = $entity_type; $this->setStringTranslation($string_translation); } /** * {@inheritdoc} */ public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { /* @var \Drupal\Core\Entity\EntityTypeManagerInterface */ $entity_type_manager = $container->get('entity_type.manager'); // The plugin ID is of the form // "entity.entity_actions:entity.$entity_type_id.collection". // @see entity.links.action.yml // @see \Drupal\entity\Menu\EntityCollectionLocalActionProvider::buildLocalActions() list(, $derivate_id) = explode(':', $plugin_id); list(, $entity_type_id, ) = explode('.', $derivate_id); return new static( $configuration, $plugin_id, $plugin_definition, $container->get('router.route_provider'), $entity_type_manager->getDefinition($entity_type_id), $container->get('string_translation') ); } /** * {@inheritdoc} */ public function getTitle(Request $request = NULL) { return (string) $this->t('Add @entity', [ '@entity' => (string) $this->entityType->getSingularLabel(), ]); } }