function TimestampFormatter::settingsSummary

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampFormatter.php \Drupal\Core\Field\Plugin\Field\FieldFormatter\TimestampFormatter::settingsSummary()
  2. 8.9.x core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampFormatter.php \Drupal\Core\Field\Plugin\Field\FieldFormatter\TimestampFormatter::settingsSummary()
  3. 11.x core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampFormatter.php \Drupal\Core\Field\Plugin\Field\FieldFormatter\TimestampFormatter::settingsSummary()

Overrides FormatterBase::settingsSummary

File

core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampFormatter.php, line 264

Class

TimestampFormatter
Plugin implementation of the 'timestamp' formatter.

Namespace

Drupal\Core\Field\Plugin\Field\FieldFormatter

Code

public function settingsSummary() {
  $summary = parent::settingsSummary();
  $time_diff = $this->getSetting('time_diff');
  $date_format = $this->getSetting('date_format');
  $date_format = $date_format === static::CUSTOM_DATE_FORMAT ? $this->getSetting('custom_date_format') : $date_format;
  if ($time_diff['enabled']) {
    $summary[] = $this->t('Displayed as a time difference');
    $options = [
      'granularity' => $time_diff['granularity'],
    ];
    $timestamp = strtotime('1 year 1 month 1 week 1 day 1 hour 1 minute');
    $interval = $this->dateFormatter
      ->formatTimeDiffUntil($timestamp, $options);
    $display = new FormattableMarkup($time_diff['future_format'], [
      '@interval' => $interval,
    ]);
    $summary[] = $this->t('Future date: %display', [
      '%display' => $display,
    ]);
    $timestamp = strtotime('-1 year -1 month -1 week -1 day -1 hour -1 minute');
    $interval = $this->dateFormatter
      ->formatTimeDiffSince($timestamp, $options);
    $display = new FormattableMarkup($time_diff['past_format'], [
      '@interval' => $interval,
    ]);
    $summary[] = $this->t('Past date: %display', [
      '%display' => $display,
    ]);
    if ($time_diff['refresh']) {
      $refresh_intervals = $this->getRefreshIntervals();
      $summary[] = $this->t('Refresh every @interval', [
        '@interval' => $refresh_intervals[$time_diff['refresh']],
      ]);
    }
    $summary[] = $this->t('Disabled JavaScript format: @date_format', [
      '@date_format' => $date_format,
    ]);
  }
  else {
    $summary[] = $this->t('Date format: @date_format', [
      '@date_format' => $date_format,
    ]);
  }
  $tooltip = $this->getSetting('tooltip');
  if (!empty($tooltip['date_format'])) {
    $tooltip_date_format = $tooltip['date_format'];
    $tooltip_date_format = $tooltip_date_format === static::CUSTOM_DATE_FORMAT ? $tooltip['custom_date_format'] : $tooltip_date_format;
    $summary[] = $this->t('Tooltip date format: @date_format', [
      '@date_format' => $tooltip_date_format,
    ]);
  }
  if ($timezone = $this->getSetting('timezone')) {
    $summary[] = $this->t('Time zone: @timezone', [
      '@timezone' => $timezone,
    ]);
  }
  return $summary;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.