public function DateRecurBasicFormatter::viewElements in Recurring Dates Field 3.x
Same name and namespace in other branches
- 8.2 src/Plugin/Field/FieldFormatter/DateRecurBasicFormatter.php \Drupal\date_recur\Plugin\Field\FieldFormatter\DateRecurBasicFormatter::viewElements()
- 3.0.x src/Plugin/Field/FieldFormatter/DateRecurBasicFormatter.php \Drupal\date_recur\Plugin\Field\FieldFormatter\DateRecurBasicFormatter::viewElements()
- 3.1.x src/Plugin/Field/FieldFormatter/DateRecurBasicFormatter.php \Drupal\date_recur\Plugin\Field\FieldFormatter\DateRecurBasicFormatter::viewElements()
Overrides DateTimeRangeTrait::viewElements
File
- src/
Plugin/ Field/ FieldFormatter/ DateRecurBasicFormatter.php, line 309
Class
- DateRecurBasicFormatter
- Basic recurring date formatter.
Namespace
Drupal\date_recur\Plugin\Field\FieldFormatterCode
public function viewElements(FieldItemListInterface $items, $langcode) : array {
// Whether maximum is per field item or in total.
$isSharedMaximum = !$this
->getSetting('count_per_item');
// Maximum amount of occurrences to be displayed.
$occurrenceQuota = (int) $this
->getSetting('show_next');
$elements = [];
foreach ($items as $delta => $item) {
$value = $this
->viewItem($item, $occurrenceQuota);
$occurrenceQuota -= $isSharedMaximum ? count($value['#occurrences']) : 0;
$elements[$delta] = $value;
if ($occurrenceQuota <= 0) {
break;
}
}
return $elements;
}