Bagaimana cara menambahkan kolom ke tabel yang ditunjukkan di halaman daftar kosa kata?


9

Saya perlu menambahkan kolom ke tabel yang ditunjukkan pada halaman yang berisi daftar kosa kata yang ditentukan untuk suatu situs. Bagaimana saya bisa mencapai ini?

daftar kosa kata

Jawaban:


10

Anda perlu menimpa kelas yang menghasilkan output builder daftar pada halaman ini, lalu isi metode dengan apa yang Anda inginkan:

  /**
   * {@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);
  }

Lihat pertanyaan terkait ini: Bisakah Anda mengubah kelas pembuat daftar yang digunakan oleh suatu entitas?

Jadi, pada intinya:

function mymodule_entity_type_alter(array &$entity_types) {
  /** @var $entity_types \Drupal\Core\Entity\EntityTypeInterface[] */
  $entity_types['taxonomy_vocabulary']->setListBuilderClass('Drupal\mymodule\VocabularyListBuilder');
}

Kemudian, di folder mymodule / src Anda, buat VocabularyListBuilder.php, dan salin dari core / modules / taxonomy / src / VocabularyListBuilder.php dan modifikasi dua metode di atas untuk output Anda (karena pada dasarnya akan sama).

Anda juga bisa melakukan ini dengan halaman Tampilan juga, tetapi untuk tujuan arsip ingin menjelaskan bagaimana ini bekerja secara umum untuk inti Drupal. Daftar kelas pembangun adalah hal D8 baru yang keren dan bermanfaat.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.