You are here

public function TextimageTextFieldFormatter::settingsSummary in Textimage 8.4

Same name and namespace in other branches
  1. 8.3 src/Plugin/Field/FieldFormatter/TextimageTextFieldFormatter.php \Drupal\textimage\Plugin\Field\FieldFormatter\TextimageTextFieldFormatter::settingsSummary()

Returns a short summary for the current formatter settings.

If an empty result is returned, a UI can still be provided to display a settings form in case the formatter has configurable settings.

Return value

string[] A short summary of the formatter settings.

Overrides FormatterBase::settingsSummary

File

src/Plugin/Field/FieldFormatter/TextimageTextFieldFormatter.php, line 218

Class

TextimageTextFieldFormatter
Plugin implementation of the Textimage text field formatter.

Namespace

Drupal\textimage\Plugin\Field\FieldFormatter

Code

public function settingsSummary() {
  $summary = [];
  $image_styles = $this->textimageFactory
    ->getTextimageStyleOptions();

  // Unset possible 'No defined styles' option.
  unset($image_styles['']);

  // Styles could be lost because of enabled/disabled modules that defines
  // their styles in code.
  $image_style_setting = $this
    ->getSetting('image_style');
  if (isset($image_styles[$image_style_setting])) {
    $summary[] = $this
      ->t('Image style: @style', [
      '@style' => $image_styles[$image_style_setting],
    ]);
  }
  else {
    $summary[] = $this
      ->t('Image style: undefined');
  }

  // Multi-value text field image generation settings.
  if ($this->fieldDefinition
    ->getFieldStorageDefinition()
    ->getCardinality() != 1) {
    $options = [
      'merge' => $this
        ->t("Build one image"),
      'itemize' => $this
        ->t("Build multiple images"),
    ];
    $summary[] = $this
      ->t('Multiple text values: @option', [
      '@option' => $options[$this
        ->getSetting('image_text_values')],
    ]);
  }

  // Display link setting only if image is linked.
  $link_types = [
    'content' => $this
      ->t('Linked to content'),
    'file' => $this
      ->t('Linked to styled image'),
  ];
  if (isset($link_types[$this
    ->getSetting('image_link')])) {
    $summary[] = $link_types[$this
      ->getSetting('image_link')];
  }

  // Display this setting only if alt text is specified.
  if ($this
    ->getSetting('image_alt')) {
    $summary[] = $this
      ->t('Alternative text: @image_alt', [
      '@image_alt' => $this
        ->getSetting('image_alt'),
    ]);
  }

  // Display this setting only if title is specified.
  if ($this
    ->getSetting('image_title')) {
    $summary[] = $this
      ->t('Title: @image_title', [
      '@image_title' => $this
        ->getSetting('image_title'),
    ]);
  }
  return $summary;
}