Chris@0: getSetting('separator'); Chris@0: Chris@0: foreach ($items as $delta => $item) { Chris@0: if (!empty($item->start_date) && !empty($item->end_date)) { Chris@0: /** @var \Drupal\Core\Datetime\DrupalDateTime $start_date */ Chris@0: $start_date = $item->start_date; Chris@0: /** @var \Drupal\Core\Datetime\DrupalDateTime $end_date */ Chris@0: $end_date = $item->end_date; Chris@0: Chris@0: if ($start_date->getTimestamp() !== $end_date->getTimestamp()) { Chris@0: $elements[$delta] = [ Chris@0: 'start_date' => $this->buildDateWithIsoAttribute($start_date), Chris@0: 'separator' => ['#plain_text' => ' ' . $separator . ' '], Chris@0: 'end_date' => $this->buildDateWithIsoAttribute($end_date), Chris@0: ]; Chris@0: } Chris@0: else { Chris@0: $elements[$delta] = $this->buildDateWithIsoAttribute($start_date); Chris@0: Chris@0: if (!empty($item->_attributes)) { Chris@0: $elements[$delta]['#attributes'] += $item->_attributes; Chris@0: // Unset field item attributes since they have been included in the Chris@0: // formatter output and should not be rendered in the field template. Chris@0: unset($item->_attributes); Chris@0: } Chris@0: } Chris@0: } Chris@0: } Chris@0: Chris@0: return $elements; Chris@0: } Chris@0: Chris@0: }