commerce-8.x-2.8/modules/log/src/LogViewBuilder.php
modules/log/src/LogViewBuilder.php
<?php namespace Drupal\commerce_log; use Drupal\Core\Cache\Cache; use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Entity\EntityViewBuilder; class LogViewBuilder extends EntityViewBuilder { /** * {@inheritdoc} */ public function viewMultiple(array $entities = [], $view_mode = 'full', $langcode = NULL) { $build_list = [ '#sorted' => TRUE, ]; $weight = 0; /** @var \Drupal\commerce_log\Entity\LogInterface $entity */ foreach ($entities as $key => $entity) { $build_list[$key] = [ '#type' => 'inline_template', '#template' => $entity->getTemplate()->getTemplate(), '#context' => $entity->getParams(), // Collect cache defaults for this entity. '#cache' => [ 'tags' => Cache::mergeTags($this->getCacheTags(), $entity->getCacheTags()), 'contexts' => $entity->getCacheContexts(), 'max-age' => $entity->getCacheMaxAge(), ], ]; // Give templates access to the source entity. $source_type = str_replace('commerce_', '', $entity->getSourceEntityTypeId()); $build_list[$key]['#context'][$source_type] = $entity->getSourceEntity(); $entityType = $this->entityTypeId; $this->moduleHandler()->alter([$entityType . '_build', 'entity_build'], $build_list[$key], $entity, $view_mode); $build_list[$key]['#weight'] = $weight++; } return $build_list; } /** * {@inheritdoc} */ public function view(EntityInterface $entity, $view_mode = 'full', $langcode = NULL) { $build = $this->viewMultiple([$entity], $view_mode, $langcode); return $build[0]; } }