dateFormatter = $date_formatter; } /** * {@inheritdoc} */ public static function createInstance(ContainerInterface $container, EntityTypeInterface $entity_type) { return new static( $entity_type, $container->get('entity_type.manager')->getStorage($entity_type->id()), $container->get('date.formatter') ); } {% endif %} /** * {@inheritdoc} */ public function render() { $build['table'] = parent::render(); $total = $this->getStorage() ->getQuery() ->accessCheck(FALSE) ->count() ->execute(); $build['summary']['#markup'] = $this->t('Total {{ entity_type_label|lower|pluralize }}: @total', ['@total' => $total]); return $build; } /** * {@inheritdoc} */ public function buildHeader() { $header['id'] = $this->t('ID'); {% if label_base_field %} $header['label'] = $this->t('Label'); {% endif %} {% if status_base_field %} $header['status'] = $this->t('Status'); {% endif %} {% if author_base_field %} $header['uid'] = $this->t('Author'); {% endif %} {% if created_base_field %} $header['created'] = $this->t('Created'); {% endif %} {% if changed_base_field %} $header['changed'] = $this->t('Updated'); {% endif %} return $header + parent::buildHeader(); } /** * {@inheritdoc} */ public function buildRow(EntityInterface $entity) { /** @var \Drupal\{{ machine_name }}\{{ class_prefix }}Interface $entity */ $row['id'] = $entity->{{ label_base_field or not canonical ? 'id' : 'toLink' }}(); {% if label_base_field %} $row['label'] = $entity->{{ canonical ? 'toLink' : 'label' }}(); {% endif %} {% if status_base_field %} $row['status'] = $entity->get('status')->value ? $this->t('Enabled') : $this->t('Disabled'); {% endif %} {% if author_base_field %} $row['uid']['data'] = [ '#theme' => 'username', '#account' => $entity->getOwner(), ]; {% endif %} {% if created_base_field %} $row['created'] = $this->dateFormatter->format($entity->get('created')->value); {% endif %} {% if changed_base_field %} $row['changed'] = $this->dateFormatter->format($entity->getChangedTime()); {% endif %} return $row + parent::buildRow($entity); } }