IntervalFormatterBase.php in Interval Field 8
File
src/Plugin/Field/FieldFormatter/IntervalFormatterBase.php
View source
<?php
namespace Drupal\interval\Plugin\Field\FieldFormatter;
use Drupal\Core\Field\FieldItemListInterface;
use Drupal\Core\Field\FormatterBase;
use Drupal\interval\IntervalItemInterface;
abstract class IntervalFormatterBase extends FormatterBase {
protected function formatInterval(IntervalItemInterface $item) {
$interval = $item
->getIntervalPlugin();
return $this
->formatPlural($item
->getInterval(), '1 @singular', '@count @plural', [
'@singular' => $interval['singular'],
'@plural' => $interval['plural'],
]);
}
public function viewElements(FieldItemListInterface $items, $langcode) {
$element = [];
foreach ($items as $delta => $item) {
$element[$delta] = [
'#type' => 'html_tag',
'#attributes' => [
'class' => [
'interval-value',
],
],
'#tag' => 'div',
'#value' => $this
->formatInterval($item),
];
}
return $element;
}
}