commerce_product_bundle-8.x-1.x-dev/src/Plugin/Field/FieldFormatter/BundleItemOrderItemTable.php
src/Plugin/Field/FieldFormatter/BundleItemOrderItemTable.php
<?php namespace Drupal\commerce_product_bundle\Plugin\Field\FieldFormatter; use Drupal\Core\Field\FieldDefinitionInterface; use Drupal\Core\Field\FieldItemListInterface; use Drupal\Core\Field\FormatterBase; /** * Plugin implementation of the 'cpb_item_order_item_table' formatter. * * @FieldFormatter( * id = "cpb_item_order_item_table", * label = @Translation("commerce product bundle item order items table"), * field_types = { * "entity_reference", * }, * ) */ class BundleItemOrderItemTable extends FormatterBase { /** * {@inheritdoc} */ public function viewElements(FieldItemListInterface $items, $langcode) { /** @var \Drupal\commerce_order\Entity\OrderItemInterface $order_item */ $orderItem = $items->getEntity(); $elements = []; $elements[0] = [ '#type' => 'view', // @todo Allow the view to be configurable. '#name' => 'cbp_item_order_items_table', '#arguments' => [$orderItem->id()], '#embed' => TRUE, ]; return $elements; } /** * {@inheritdoc} */ public static function isApplicable(FieldDefinitionInterface $field_definition) { $entity_type = $field_definition->getTargetEntityTypeId(); $field_name = $field_definition->getName(); return $entity_type == 'commerce_order_item' && $field_name == 'bundle_item_order_items'; } }