commerce-8.x-2.8/modules/product/src/ProductListBuilder.php
modules/product/src/ProductListBuilder.php
<?php
namespace Drupal\commerce_product;
use Drupal\commerce_product\Entity\ProductType;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Entity\EntityListBuilder;
/**
* Defines the list builder for products.
*/
class ProductListBuilder extends EntityListBuilder {
/**
* {@inheritdoc}
*/
public function buildHeader() {
$header['title'] = t('Title');
$header['type'] = t('Type');
$header['status'] = t('Status');
return $header + parent::buildHeader();
}
/**
* {@inheritdoc}
*/
public function buildRow(EntityInterface $entity) {
/** @var \Drupal\commerce_product\Entity\ProductInterface $entity */
$product_type = ProductType::load($entity->bundle());
$row['title']['data'] = [
'#type' => 'link',
'#title' => $entity->label(),
] + $entity->toUrl()->toRenderArray();
$row['type'] = $product_type->label();
$row['status'] = $entity->isPublished() ? $this->t('Published') : $this->t('Unpublished');
return $row + parent::buildRow($entity);
}
}
