public function OrderItemTable::viewElements in Commerce Core 8.2
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
- modules/
order/ src/ Plugin/ Field/ FieldFormatter/ OrderItemTable.php, line 25
Class
- OrderItemTable
- Plugin implementation of the 'commerce_order_item_table' formatter.
Namespace
Drupal\commerce_order\Plugin\Field\FieldFormatterCode
public function viewElements(FieldItemListInterface $items, $langcode) {
/** @var \Drupal\commerce_order\Entity\OrderInterface $order */
$order = $items
->getEntity();
$elements = [];
$order_item_ids = array_column($order
->get('order_items')
->getValue(), 'target_id');
$elements[0] = [
'#type' => 'view',
// @todo Allow the view to be configurable.
'#name' => 'commerce_order_item_table',
'#arguments' => $order_item_ids ? [
implode('+', $order_item_ids),
] : NULL,
'#embed' => TRUE,
];
return $elements;
}