मैं शब्दावली सूची पृष्ठ में दिखाए गए तालिका में एक कॉलम कैसे जोड़ूं?


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 से कॉपी करें और अपने आउटपुट के लिए ऊपर दिए गए दो तरीकों को संशोधित करें (क्योंकि वे मूल रूप से समान होंगे)।

आप इसे एक दृश्य पृष्ठ के साथ भी कर सकते हैं, लेकिन अभिलेखीय प्रयोजनों के लिए यह बताना चाहते हैं कि यह सामान्य रूप से द्रुपाल कोर के लिए कैसे काम करता है। सूची बिल्डर कक्षाएं एक ऐसी शांत और उपयोगी नई डी 8 चीज हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.