3 namespace Drupal\ctools\Plugin\Deriver;
6 use Drupal\Component\Plugin\Derivative\DeriverBase;
7 use Drupal\Core\Entity\EntityManagerInterface;
8 use Drupal\Core\Plugin\Discovery\ContainerDeriverInterface;
9 use Drupal\Core\StringTranslation\StringTranslationTrait;
10 use Drupal\Core\StringTranslation\TranslationInterface;
11 use Symfony\Component\DependencyInjection\ContainerInterface;
14 * An abstract base class that sets up the needs of entity specific derivers.
16 abstract class EntityDeriverBase extends DeriverBase implements ContainerDeriverInterface {
18 use StringTranslationTrait;
23 * @var \Drupal\Core\Entity\EntityManagerInterface
25 protected $entityManager;
28 * Constructs new EntityViewDeriver.
30 * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager
32 * @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation
33 * The string translation service.
35 public function __construct(EntityManagerInterface $entity_manager, TranslationInterface $string_translation) {
36 $this->entityManager = $entity_manager;
37 $this->stringTranslation = $string_translation;
43 public static function create(ContainerInterface $container, $base_plugin_id) {
45 $container->get('entity.manager'),
46 $container->get('string_translation')