Як додати стовпець до таблиці, показаної на сторінці переліку словникових запасів?


9

Мені потрібно додати стовпчик до таблиці, показаної на сторінці, у якій перераховані лексики, визначені для сайту. Як я можу цього досягти?

перелік словникового запасу

Відповіді:


10

Вам потрібно буде перекрити клас, що генерує вихід конструктора списку на цій сторінці, а потім заповнити методи тим, що ви хочете:

  /**
   * {@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 та скопіюйте з ядра / модулів / таксономії / src / VocabularyListBuilder.php та змініть два способи для виведення (оскільки вони в основному однакові).

Ви також можете це зробити зі сторінкою «Перегляд», але для архівних цілей хотіли пояснити, як це взагалі працює для ядра Drupal. Класи конструкторів списків - така класна і корисна річ D8.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.