Implements \Drupal\field\Plugin\Type\Formatter\FormatterInterface::viewElements().
Overrides FormatterInterface::viewElements
public function viewElements(EntityInterface $entity, $langcode, array $items) {
$elements = array();
$image_link_setting = $this
->getSetting('image_link');
// Check if the formatter involves a link.
if ($image_link_setting == 'content') {
$uri = $entity
->uri();
}
elseif ($image_link_setting == 'file') {
$link_file = TRUE;
}
$image_style_setting = $this
->getSetting('image_style');
foreach ($items as $delta => $item) {
if (isset($link_file)) {
$uri = array(
'path' => file_create_url($item['uri']),
'options' => array(),
);
}
$elements[$delta] = array(
'#theme' => 'image_formatter',
'#item' => $item,
'#image_style' => $image_style_setting,
'#path' => isset($uri) ? $uri : '',
);
}
return $elements;
}