public function FieldCollectionViewsFormatter::viewElements in Field Collection Views 6.x
Same name and namespace in other branches
- 8.5 src/Plugin/Field/FieldFormatter/FieldCollectionViewsFormatter.php \Drupal\field_collection_views\Plugin\Field\FieldFormatter\FieldCollectionViewsFormatter::viewElements()
File
- src/
Plugin/ Field/ FieldFormatter/ FieldCollectionViewsFormatter.php, line 65
Class
- FieldCollectionViewsFormatter
- Plugin implementation of the 'views_field_collection_items' formatter.
Namespace
Drupal\field_collection_views\Plugin\Field\FieldFormatterCode
public function viewElements(FieldItemListInterface $items, $langcode) {
$element = [];
$args = '';
$i = 1;
foreach ($items as $item) {
if ($i == 1) {
$args .= $item->value;
}
else {
$args .= ',' . $item->value;
}
$i++;
}
$view_name = !empty($this
->getSetting('name')) ? $this
->getSetting('name') : 'field_collection_view';
$display_id = !empty($this
->getSetting('display_id')) ? $this
->getSetting('display_id') : 'default';
$content = views_embed_view($view_name, $display_id, $args);
$render = \Drupal::service('renderer')
->renderPlain($content)
->__toString();
$element[0] = [
'#type' => 'markup',
'#markup' => $render,
];
return $element;
}