जवाबों:
आपको इस पृष्ठ पर सूची निर्माता आउटपुट बनाने वाले वर्ग को ओवरराइड करने की आवश्यकता होगी, फिर आप जो चाहते हैं उसके साथ तरीकों को भरें:
/**
* {@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 से कॉपी करें और अपने आउटपुट के लिए ऊपर दिए गए दो तरीकों को संशोधित करें (क्योंकि वे मूल रूप से समान होंगे)।
आप इसे एक दृश्य पृष्ठ के साथ भी कर सकते हैं, लेकिन अभिलेखीय प्रयोजनों के लिए यह बताना चाहते हैं कि यह सामान्य रूप से द्रुपाल कोर के लिए कैसे काम करता है। सूची बिल्डर कक्षाएं एक ऐसी शांत और उपयोगी नई डी 8 चीज हैं।