3.5.7. Views में डेटा एग्रीगेशन (Data Aggregation)
Views मॉड्यूल न केवल Drupal की टेबल्स से डेटा प्रदर्शित करने की अनुमति देता है, बल्कि यह पंक्तियों (rows) की गणना और परिणामों को समूहबद्ध (group) भी कर सकता है। इस सुविधा को Aggregation कहा जाता है।
डिफ़ॉल्ट रूप से Drupal में Taxonomy Tags की एक डिक्शनरी होती है। चलिए एक ब्लॉक बनाते हैं जो सबसे लोकप्रिय टैग दिखाए और प्रत्येक टैग के बाद यह बताए कि उस टैग के साथ साइट पर कितनी सामग्रियाँ (materials) मौजूद हैं।
हमें कुछ इस तरह की सूची प्राप्त होगी:
Drupal 9 (5)
Drupal 8 (3)
PHP (2)
शुरुआत करने के लिए, आपको कुछ Articles बनाने होंगे और उनमें टैग जोड़ने होंगे।
/node/add/article
कुछ आर्टिकल्स बनाने के बाद हम आगे बढ़ सकते हैं।
/admin/structure/views/add
एक Views Block जोड़ें और Taxonomy → Tags चुनें:
Aggregation सक्षम करना
अब Views में Aggregation चालू करें:
अब हमें फ़ील्ड्स में Aggregation के लिए अतिरिक्त सेटिंग्स मिलेंगी:
रिलेशनशिप जोड़ना
अब RELATIONSHIPS → Content with the term जोड़ें:
“Require this relationship” चुनें ताकि केवल वही कंटेंट गिना जाए जिनमें वह टैग चयनित है:
फ़ील्ड्स जोड़ना
अब हमें Term Taxonomy (Name) की दो फ़ील्ड्स चाहिए — पहली को छिपा (Hidden) देंगे:
दूसरी फ़ील्ड के लिए Aggregation Type Count चुनें:
अब यदि आप View का प्रीव्यू अपडेट करेंगे, तो आप देखेंगे कि प्रत्येक टैग के उपयोग की संख्या प्रदर्शित हो रही है:
टैग नाम के साथ गिनती जोड़ना
अब हमें प्रत्येक संख्या के आगे टैग का नाम दिखाना है। इसके लिए हम दूसरी फ़ील्ड में पहली छिपी हुई फ़ील्ड और दूसरी फ़ील्ड का मान (value) को साथ दिखाएँगे — जैसे {{name}} ({{name_1}})।
यह करने के लिए “Rewrite Results” सेटिंग का उपयोग करें:
“REPLACEMENT PATTERNS” ड्रॉपडाउन में आप देख सकते हैं कि इस फ़ील्ड को ओवरराइट करते समय कौन सी फ़ील्ड्स इस्तेमाल की जा सकती हैं।
{{name}} ({{name_1}})
यहाँ {{}} Twig से लिया गया सिंटैक्स है — इन ब्रैकेट्स के अंदर दिए गए नामों को संबंधित फ़ील्ड्स के मान से बदल दिया जाता है।
अंतिम परिणाम
अंत में आपकी फ़ील्ड्स इस तरह दिखनी चाहिए:
और परिणाम इस प्रकार दिखाई देगा: