public function TimeFieldMiniCalendar::viewElements in Timefield 1.0.x
Builds a renderable array for a field value.
Parameters
\Drupal\Core\Field\FieldItemListInterface $items: The field values to be rendered.
string $langcode: The language that should be used to render the field.
Return value
array A renderable array for $items, as an array of child elements keyed by consecutive numeric indexes starting from 0.
Overrides FormatterInterface::viewElements
File
- src/
Plugin/ Field/ FieldFormatter/ TimeFieldMiniCalendar.php, line 130
Class
- TimeFieldMiniCalendar
- Plugin for the 'timefield_mini_calendar_formatter' field formatter.
Namespace
Drupal\timefield\Plugin\Field\FieldFormatterCode
public function viewElements(FieldItemListInterface $items, $langcode) {
$settings = $this
->getSettings();
$label_hidden = $this->label == 'hidden';
$header = [];
$rows = [];
foreach ($items as $item) {
if (!empty($item->value)) {
$header = _timefield_weekly_summary_build_header($settings['first_day']);
$rows = timefield_weekly_summary_build_rows($items, $header, $settings);
}
}
return [
'#theme' => 'timefield_mini_calendar',
'#label' => $this->fieldDefinition
->get('label'),
'#label_display' => $this->label,
'#label_hidden' => $label_hidden,
'#header' => $header,
'#rows' => $rows,
'#content' => [
'#header' => $header,
'#rows' => $rows,
'#theme' => 'table',
],
];
}