/** * {@inheritdoc} */ public function settingsForm(array $form, FormStateInterface $form_state) { $element = parent::settingsForm($form, $form_state); // This formatter doesn't support linking. unset($element['image_link']); return $element; }
/** * {@inheritdoc} */ public function viewElements(FieldItemListInterface $items) { $elements = parent::viewElements($items); foreach ($elements as &$element) { $element['#theme'] = 'image_title_caption_formatter'; } return $elements; }
/** * {@inheritdoc} */ public function viewElements(FieldItemListInterface $items, $langcode) { $elements = parent::viewElements($items, $langcode); $new_elements = []; foreach ($elements as $delta => $element) { $new_elements[$delta] = ['image' => $element]; } foreach ($items as $delta => $item) { $new_elements[$delta]['text'] = ['#markup' => $item->slide_text]; } return $new_elements; }
/** * {@inheritdoc} */ public static function isApplicable(FieldDefinitionInterface $field_definition) { // This formatter only applies to multi-image fields return parent::isApplicable($field_definition) && $field_definition->getFieldStorageDefinition()->isMultiple(); }
/** * {@inheritdoc} */ public function settingsSummary() { $summary = parent::settingsSummary(); $link_types = array('content' => t('Linked to content'), 'media' => t('Linked to media entity')); // Display this setting only if image is linked. $image_link_setting = $this->getSetting('image_link'); if (isset($link_types[$image_link_setting])) { $summary[] = $link_types[$image_link_setting]; } return $summary; }