回答:
このページでリストビルダーの出力を生成するクラスをオーバーライドし、必要なものをメソッドに入力する必要があります。
/**
* {@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からコピーし、上記の2つのメソッドを出力用に変更します(基本的に同じであるため)。
Viewページでもこれを行うことができますが、アーカイブの目的で、これがDrupalコアで一般的にどのように機能するかを説明する必要がありました。リストビルダークラスは、とてもクールで便利な新しいD8です。