Builds a renderable array for a field value.
Drupal\Core\Entity\EntityInterface $entity: The entity being displayed.
string $langcode: The language associated with $items.
array $items: Array of values for this field.
array A renderable array for $items, as an array of child elements keyed by numeric indexes starting from 0.
Overrides FormatterInterface::viewElements
public function viewElements(EntityInterface $entity, $langcode, array $items) {
$elements = array();
foreach ($items as $delta => $item) {
if ($this
->getPluginId() == 'text_summary_or_trimmed' && !empty($item['summary'])) {
$output = text_sanitize($this->instance['settings']['text_processing'], $langcode, $item, 'summary');
}
else {
$output = text_sanitize($this->instance['settings']['text_processing'], $langcode, $item, 'value');
$output = text_summary($output, $this->instance['settings']['text_processing'] ? $item['format'] : NULL, $this
->getSetting('trim_length'));
}
$elements[$delta] = array(
'#markup' => $output,
);
}
return $elements;
}