public function ToggleEditableFormatter::viewElements in Toggle Editable fields 8
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/ ToggleEditableFormatter.php, line 232
Class
- ToggleEditableFormatter
- Plugin implementation of the 'ranking' formatter.
Namespace
Drupal\toggle_editable_fields\Plugin\Field\FieldFormatterCode
public function viewElements(FieldItemListInterface $items, $langcode) {
$elements = [];
foreach ($items as $delta => $item) {
// We create an instance of element form to edit field first and,
// initialize Form object with item definition to make a form id dynamic.
$form_object = $this->classResolver
->getInstanceFromDefinition(AjaxToggleForm::class);
$form_object
->setFieldItem($item, $this
->getSettings());
$form_state = new FormState();
$elements[$delta] = $this->formBuilder
->buildForm($form_object, $form_state);
}
return $elements;
}