protected function FlexsliderImageFormatterTrait::viewImages in Flex Slider 8.2
The flexslider formatted view for images.
Parameters
array $images: Images render array from the (Responsive)Image Formatter.
array $formatter_settings: Render array of settings.
Return value
array Render of flexslider formatted images.
2 calls to FlexsliderImageFormatterTrait::viewImages()
- FlexsliderFormatter::viewElements in flexslider_fields/
src/ Plugin/ Field/ FieldFormatter/ FlexsliderFormatter.php - Builds a renderable array for a field value.
- FlexsliderResponsiveFormatter::viewElements in flexslider_fields/
src/ Plugin/ Field/ FieldFormatter/ FlexsliderResponsiveFormatter.php - Builds a renderable array for a field value.
File
- flexslider_fields/
src/ Plugin/ Field/ FieldFormatter/ FlexsliderImageFormatterTrait.php, line 41
Class
- FlexsliderImageFormatterTrait
- A trait for all image-related FlexSlider formatters.
Namespace
Drupal\flexslider_fields\Plugin\Field\FieldFormatterCode
protected function viewImages(array $images, array $formatter_settings) {
// Bail out if no images to render.
if (empty($images)) {
return [];
}
// Get cache tags for the option set.
if ($optionset = $this
->loadOptionset($formatter_settings['optionset'])) {
$cache_tags = $optionset
->getCacheTags();
}
else {
$cache_tags = [];
}
$items = [];
foreach ($images as $delta => &$image) {
// Merge in the cache tags.
if ($cache_tags) {
$image['#cache']['tags'] = Cache::mergeTags($image['#cache']['tags'], $cache_tags);
}
// Prepare the slide item render array.
$item = [];
// Check caption settings.
if ($formatter_settings['caption'] == 1) {
$item['caption'] = [
'#markup' => Xss::filterAdmin($image['#item']->title),
];
}
elseif ($formatter_settings['caption'] == 'alt') {
$item['caption'] = [
'#markup' => Xss::filterAdmin($image['#item']->alt),
];
}
// @todo Should find a way of dealing with render arrays instead of the actual output
$item['slide'] = render($image);
$items[$delta] = $item;
}
$images['#theme'] = 'flexslider';
$images['#flexslider'] = [
'settings' => $formatter_settings,
'items' => $items,
];
return $images;
}