Loading src/Plugin/Field/FieldFormatter/MicromodalFieldFormatter.php +43 −3 Original line number Diff line number Diff line Loading @@ -2,7 +2,9 @@ namespace Drupal\media_video_micromodal\Plugin\Field\FieldFormatter; use Drupal\Core\Utility\Token; use Drupal\Component\Utility\Html; use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Field\FieldDefinitionInterface; use Drupal\Core\Field\FieldItemListInterface; Loading Loading @@ -39,14 +41,28 @@ class MicromodalFieldFormatter extends FormatterBase { * * @var \Drupal\Core\Entity\EntityTypeManagerInterface */ private $entityTypeManager; private EntityTypeManagerInterface $entityTypeManager; /** * The state. * * @var \Drupal\Core\State\State */ private $state; private State $state; /** * Token utility. * * @var \Drupal\Core\Utility\Token */ protected Token $token; /** * Module handler. * * @var \Drupal\Core\Extension\ModuleHandlerInterface */ protected ModuleHandlerInterface $moduleHandler; /** * Constructs a MicromodalFieldFormatter instance. Loading @@ -67,13 +83,19 @@ class MicromodalFieldFormatter extends FormatterBase { * Any third party settings settings. * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager * The entity type manager. * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler * The module handler service. * @param \Drupal\Core\Utility\Token $token * The token service. * @param \Drupal\Core\State\State $state * State. */ public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, EntityTypeManagerInterface $entity_type_manager, State $state) { public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, EntityTypeManagerInterface $entity_type_manager, ModuleHandlerInterface $module_handler, Token $token, State $state) { parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings); $this->entityTypeManager = $entity_type_manager; $this->state = $state; $this->token = $token; $this->moduleHandler = $module_handler; } /** Loading @@ -89,6 +111,8 @@ class MicromodalFieldFormatter extends FormatterBase { $configuration['view_mode'], $configuration['third_party_settings'], $container->get('entity_type.manager'), $container->get('module_handler'), $container->get('token'), $container->get('state') ); } Loading Loading @@ -140,6 +164,16 @@ class MicromodalFieldFormatter extends FormatterBase { ], ]; if ($this->moduleHandler->moduleExists('token')) { $settings['link_text']['#description'] .= $this->t('<br/><strong>Note</strong>: This field supports tokens.'); $settings['token_replacement'] = [ '#theme' => 'token_tree_link', '#token_types' => [ $this->fieldDefinition->getTargetEntityTypeId(), ], ]; } } // For oembed generated thumbnails - allow for choices of image styles. Loading Loading @@ -357,6 +391,12 @@ class MicromodalFieldFormatter extends FormatterBase { // Check if the link text has been filled in. if (!empty($this->getSetting('link_text'))) { $label = Html::escape($this->getSetting('link_text')); if ($this->moduleHandler->moduleExists('token')) { $data = [ $media->getEntityTypeId() => $media, ]; $label = $this->token->replace($label, $data, ['clear' => TRUE]); } } else { $label = $media->getName(); Loading Loading
src/Plugin/Field/FieldFormatter/MicromodalFieldFormatter.php +43 −3 Original line number Diff line number Diff line Loading @@ -2,7 +2,9 @@ namespace Drupal\media_video_micromodal\Plugin\Field\FieldFormatter; use Drupal\Core\Utility\Token; use Drupal\Component\Utility\Html; use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Field\FieldDefinitionInterface; use Drupal\Core\Field\FieldItemListInterface; Loading Loading @@ -39,14 +41,28 @@ class MicromodalFieldFormatter extends FormatterBase { * * @var \Drupal\Core\Entity\EntityTypeManagerInterface */ private $entityTypeManager; private EntityTypeManagerInterface $entityTypeManager; /** * The state. * * @var \Drupal\Core\State\State */ private $state; private State $state; /** * Token utility. * * @var \Drupal\Core\Utility\Token */ protected Token $token; /** * Module handler. * * @var \Drupal\Core\Extension\ModuleHandlerInterface */ protected ModuleHandlerInterface $moduleHandler; /** * Constructs a MicromodalFieldFormatter instance. Loading @@ -67,13 +83,19 @@ class MicromodalFieldFormatter extends FormatterBase { * Any third party settings settings. * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager * The entity type manager. * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler * The module handler service. * @param \Drupal\Core\Utility\Token $token * The token service. * @param \Drupal\Core\State\State $state * State. */ public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, EntityTypeManagerInterface $entity_type_manager, State $state) { public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, EntityTypeManagerInterface $entity_type_manager, ModuleHandlerInterface $module_handler, Token $token, State $state) { parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings); $this->entityTypeManager = $entity_type_manager; $this->state = $state; $this->token = $token; $this->moduleHandler = $module_handler; } /** Loading @@ -89,6 +111,8 @@ class MicromodalFieldFormatter extends FormatterBase { $configuration['view_mode'], $configuration['third_party_settings'], $container->get('entity_type.manager'), $container->get('module_handler'), $container->get('token'), $container->get('state') ); } Loading Loading @@ -140,6 +164,16 @@ class MicromodalFieldFormatter extends FormatterBase { ], ]; if ($this->moduleHandler->moduleExists('token')) { $settings['link_text']['#description'] .= $this->t('<br/><strong>Note</strong>: This field supports tokens.'); $settings['token_replacement'] = [ '#theme' => 'token_tree_link', '#token_types' => [ $this->fieldDefinition->getTargetEntityTypeId(), ], ]; } } // For oembed generated thumbnails - allow for choices of image styles. Loading Loading @@ -357,6 +391,12 @@ class MicromodalFieldFormatter extends FormatterBase { // Check if the link text has been filled in. if (!empty($this->getSetting('link_text'))) { $label = Html::escape($this->getSetting('link_text')); if ($this->moduleHandler->moduleExists('token')) { $data = [ $media->getEntityTypeId() => $media, ]; $label = $this->token->replace($label, $data, ['clear' => TRUE]); } } else { $label = $media->getName(); Loading