public function TimestampAgoFormatter::settingsSummary in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampAgoFormatter.php \Drupal\Core\Field\Plugin\Field\FieldFormatter\TimestampAgoFormatter::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
- core/
lib/ Drupal/ Core/ Field/ Plugin/ Field/ FieldFormatter/ TimestampAgoFormatter.php, line 138
Class
- TimestampAgoFormatter
- Plugin implementation of the 'timestamp' formatter as time ago.
Namespace
Drupal\Core\Field\Plugin\Field\FieldFormatterCode
public function settingsSummary() {
$summary = parent::settingsSummary();
$future_date = new DrupalDateTime('1 year 1 month 1 week 1 day 1 hour 1 minute');
$past_date = new DrupalDateTime('-1 year -1 month -1 week -1 day -1 hour -1 minute');
$granularity = $this
->getSetting('granularity');
$options = [
'granularity' => $granularity,
'return_as_object' => FALSE,
];
$future_date_interval = new FormattableMarkup($this
->getSetting('future_format'), [
'@interval' => $this->dateFormatter
->formatTimeDiffUntil($future_date
->getTimestamp(), $options),
]);
$past_date_interval = new FormattableMarkup($this
->getSetting('past_format'), [
'@interval' => $this->dateFormatter
->formatTimeDiffSince($past_date
->getTimestamp(), $options),
]);
$summary[] = $this
->t('Future date: %display', [
'%display' => $future_date_interval,
]);
$summary[] = $this
->t('Past date: %display', [
'%display' => $past_date_interval,
]);
return $summary;
}