public function FieldLink::viewElements in (Entity Reference) Field Formatters 8.2
Same name and namespace in other branches
- 8 src/Plugin/Field/FieldFormatter/FieldLink.php \Drupal\field_formatter\Plugin\Field\FieldFormatter\FieldLink::viewElements()
- 3.x src/Plugin/Field/FieldFormatter/FieldLink.php \Drupal\field_formatter\Plugin\Field\FieldFormatter\FieldLink::viewElements()
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/ FieldLink.php, line 23
Class
- FieldLink
- Provides the field link formatter.
Namespace
Drupal\field_formatter\Plugin\Field\FieldFormatterCode
public function viewElements(FieldItemListInterface $items, $langcode) {
$field_output = $this
->getFieldOutput($items, $langcode);
$elements = [];
foreach (Element::children($field_output) as $key) {
$languageManager = \Drupal::languageManager();
$entityUrl = $items
->getEntity()
->toUrl('canonical', [
'language' => $languageManager
->getLanguage($langcode),
]);
$elements[$key] = [
'#type' => 'link',
'#url' => $entityUrl,
'#title' => $field_output[$key],
];
}
return $elements;
}