Answers:
您将需要重写此页面上生成列表构建器输出的类,然后用所需的内容填充方法:
/**
* {@inheritdoc}
*/
public function buildHeader() {
$header['label'] = t('Vocabulary name');
$header['foo'] = t('Custom Header');
return $header + parent::buildHeader();
}
/**
* {@inheritdoc}
*/
public function buildRow(EntityInterface $entity) {
$row['label'] = $entity->label();
$row['foo'] = 'custom_value';
return $row + parent::buildRow($entity);
}
看到以下相关问题:您可以更改实体使用的列表构建器类吗?
因此,本质上:
function mymodule_entity_type_alter(array &$entity_types) {
/** @var $entity_types \Drupal\Core\Entity\EntityTypeInterface[] */
$entity_types['taxonomy_vocabulary']->setListBuilderClass('Drupal\mymodule\VocabularyListBuilder');
}
然后,在mymodule / src文件夹中,创建一个VocabularyListBuilder.php,然后从core / modules / taxonomy / src / VocabularyListBuilder.php中复制并修改上面的两种输出方法(因为它们基本上是相同的)。
您也可以在“查看”页面上执行此操作,但是出于存档目的,我们想解释一下它对于Drupal核心的一般工作方式。列表生成器类是一个非常酷而实用的D8新功能。