You are here

public function Base::settingsSummary in Double Field 8.3

Same name and namespace in other branches
  1. 4.x src/Plugin/Field/FieldFormatter/Base.php \Drupal\double_field\Plugin\Field\FieldFormatter\Base::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

3 calls to Base::settingsSummary()
Details::settingsSummary in src/Plugin/Field/FieldFormatter/Details.php
Returns a short summary for the current formatter settings.
ListBase::settingsSummary in src/Plugin/Field/FieldFormatter/ListBase.php
Returns a short summary for the current formatter settings.
Table::settingsSummary in src/Plugin/Field/FieldFormatter/Table.php
Returns a short summary for the current formatter settings.
3 methods override Base::settingsSummary()
Details::settingsSummary in src/Plugin/Field/FieldFormatter/Details.php
Returns a short summary for the current formatter settings.
ListBase::settingsSummary in src/Plugin/Field/FieldFormatter/ListBase.php
Returns a short summary for the current formatter settings.
Table::settingsSummary in src/Plugin/Field/FieldFormatter/Table.php
Returns a short summary for the current formatter settings.

File

src/Plugin/Field/FieldFormatter/Base.php, line 185

Class

Base
Base class for Double field formatters.

Namespace

Drupal\double_field\Plugin\Field\FieldFormatter

Code

public function settingsSummary() {
  $settings = $this
    ->getSettings();
  $field_settings = $this
    ->getFieldSettings();
  $subfield_types = DoubleFieldItem::subfieldTypes();
  $summary = [];
  foreach ([
    'first',
    'second',
  ] as $subfield) {
    $subfield_type = $field_settings['storage'][$subfield]['type'];
    $summary[] = new FormattableMarkup('<b>@subfield - @subfield_type</b>', [
      '@subfield' => $subfield == 'first' ? $this
        ->t('First subfield') : $this
        ->t('Second subfield'),
      '@subfield_type' => strtolower($subfield_types[$subfield_type]),
    ]);
    if ($subfield_type == 'datetime_iso8601') {
      $summary[] = $this
        ->t('Date format: @format', [
        '@format' => $settings[$subfield]['format_type'],
      ]);
    }
    if (in_array($subfield_type, static::$linkTypes)) {
      $summary[] = $this
        ->t('Link: @value', [
        '@value' => $settings[$subfield]['link'] ? $this
          ->t('yes') : $this
          ->t('no'),
      ]);
    }
    $summary[] = $this
      ->t('Hidden: @value', [
      '@value' => $settings[$subfield]['hidden'] ? $this
        ->t('yes') : $this
        ->t('no'),
    ]);
    if ($settings[$subfield]['prefix'] != '') {
      $summary[] = $this
        ->t('Prefix (deprecated): @prefix', [
        '@prefix' => $settings[$subfield]['prefix'],
      ]);
    }
    if ($settings[$subfield]['suffix'] != '') {
      $summary[] = $this
        ->t('Suffix (deprecated): @suffix', [
        '@suffix' => $settings[$subfield]['suffix'],
      ]);
    }
    if ($subfield_type == 'numeric' || $subfield_type == 'float' || $subfield_type == 'integer') {
      $summary[] = $this
        ->t('Number format: @format', [
        '@format' => $this
          ->numberFormat($subfield, 1234.123456789),
      ]);
    }
  }
  return $summary;
}