You are here

public function Base::settingsSummary in Double Field 4.x

Same name and namespace in other branches
  1. 8.3 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 180

Class

Base
Base class for Double field formatters.

Namespace

Drupal\double_field\Plugin\Field\FieldFormatter

Code

public function settingsSummary() : array {
  $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@list</b>', [
      '@subfield' => $subfield == 'first' ? $this
        ->t('First subfield') : $this
        ->t('Second subfield'),
      '@subfield_type' => strtolower($subfield_types[$subfield_type]),
      '@list' => $field_settings[$subfield]['list'] ? ' (' . $this
        ->t('list') . ')' : '',
    ]);
    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 ($field_settings[$subfield]['list']) {

      // @todo Remove the fallback in 5.x.
      $display_key = $settings[$subfield]['key'] ?? FALSE;
      $summary[] = $this
        ->t('Display key: @value', [
        '@value' => $display_key ? $this
          ->t('yes') : $this
          ->t('no'),
      ]);
    }
    if ($subfield_type == 'numeric' || $subfield_type == 'float' || $subfield_type == 'integer') {
      $summary[] = $this
        ->t('Number format: @format', [
        '@format' => $this
          ->numberFormat($subfield, 1234.123456789),
      ]);
    }
  }
  return $summary;
}