<h3>3.5.0 Views मॉड्यूल का अवलोकन</h3>
यदि आप Drupal में रुचि रखते हैं, तो sooner or later आप Views मॉड्यूल तक पहुँचेंगे। यह मॉड्यूल Drupal में मौजूद लगभग सभी चीजों को प्रदर्शित करने की अनुमति देता है: उपयोगकर्ता, सामग्री (content), टिप्पणियाँ, टैक्सोनॉमी। इसके अलावा, यह तालिकाएँ, ब्लॉक, स्लाइडर, कैलेंडर, सूचियाँ, ग्राफ़ और अन्य प्रकार के डेटा और डिज़ाइन प्रदर्शित करने की अनुमति देता है। यह मॉड्यूल Drupal के कोर में संस्करण 8 से शामिल किया गया है। तो आइए इस मॉड्यूल को विस्तार से देखें।
सबसे पहले जिस बात पर आपको ध्यान देना चाहिए, वह है मॉड्यूल का आकार; Views और Views UI दोनों मॉड्यूल 808 और 3.6 मेगाबाइट लेते हैं। एक बहुत बड़ा मॉड्यूल, लेकिन इसका उपयोग करने के लिए आपको यह जानने की आवश्यकता नहीं है कि यह कैसे काम करता है। Views का एक काफी बड़ा इंटरफ़ेस है जिसे आप बिना प्रोग्रामिंग ज्ञान के भी समझ सकते हैं।
Drupal मेनू में Views का स्थान है: Structure — Views:
जैसा कि आप देख सकते हैं, Views मुख्य पृष्ठ, नई टिप्पणियाँ, हाल ही में साइट पर आए उपयोगकर्ता और कई अन्य सूचियाँ प्रदर्शित करता है।
आइए फ्रंट पेज के लिए Views पर जाएँ। ऐसा करने के लिए, Frontpage view लाइन में Edit बटन पर क्लिक करें।
नीचे मैं प्रत्येक ब्लॉक का विवरण और उससे संबंधित लेख का लिंक प्रदान करूंगा जो उस ब्लॉक का वर्णन करता है।
सबसे पहले, आपको ध्यान देना चाहिए कि Views क्या प्रदर्शित करेगा:
इस view में, हम सामग्री (content) प्रदर्शित कर रहे हैं, अर्थात् हमारी साइट के नोड्स। इसमें टैक्सोनॉमी, टिप्पणियाँ, उपयोगकर्ता आदि शामिल हो सकते हैं। यह सेटिंग view बनाते समय निर्धारित की जाती है और बाद में इसे बदला नहीं जा सकता, केवल view को फिर से बनाना होगा। इसलिए, view बनाते समय आपको पता होना चाहिए कि आप क्या आउटपुट करना चाहते हैं।
इसके बाद हम प्रशासनिक शीर्षक (Administrative title) सेट कर सकते हैं — वह नाम जो view के अंदर और जहाँ भी यह view प्रदर्शित किया जाएगा, दिखेगा। और इसके नीचे वह शीर्षक प्रदर्शित किया जाएगा जो सीधे साइट पर, पेज या ब्लॉक में दिखेगा।
नीचे ब्लॉक फॉर्मेट है। Views को अन्य मॉड्यूल्स के साथ विस्तारित किया जा सकता है और इस प्रकार जानकारी प्रदर्शित करने की क्षमता को बढ़ाया जा सकता है। उदाहरण के लिए, यदि आप Views Slideshow मॉड्यूल स्थापित करते हैं, तो आप स्लाइडर्स प्रदर्शित कर सकते हैं:
https://www.drupal.org/project/views_slideshow
यदि आप Calendar मॉड्यूल जोड़ते हैं, तो कैलेंडर प्रदर्शित होगा:
https://www.drupal.org/project/calendar
ऐसे कई समान मॉड्यूल हैं, आप आसानी से वह पा सकते हैं जिसकी आपको आवश्यकता है, बस Google में Drupal views (और उसके बाद वह नाम जो आप प्रदर्शित करना चाहते हैं) लिखें।
डिफ़ॉल्ट रूप से, हम ब्लॉक्स (Unformatted list), HTML सूची (टैग <ul>, <li>), Grid (हेडर रहित तालिका), Table (हेडर सहित और सॉर्टिंग की सुविधा के साथ) में आउटपुट कर सकते हैं।
Show सेटिंग में, हम निर्धारित कर सकते हैं कि डेटा को view में कैसे प्रदर्शित किया जाए — फ़ील्ड्स के रूप में या पूर्ण रूप से, टीज़र या पूरी एंटिटी के रूप में। टीज़र का उपयोग करना काफी सुविधाजनक है। मान लीजिए हमारे पास उत्पादों के प्रदर्शन का एक मानक प्रकार है — चित्र, नाम, मूल्य और खरीद बटन। हमें इस उत्पाद प्रकार को कई ब्लॉक्स में प्रदर्शित करना है: श्रेणियाँ, समान उत्पाद, अनुशंसित उत्पाद, कार्ट। यदि हम CSS कोड को दोहराना नहीं चाहते, तो हम एक बार टीज़र के आउटपुट को स्टाइल कर सकते हैं और फिर इस टीज़र को अन्य views में सम्मिलित कर सकते हैं।
Fields
फ़ील्ड्स में, हम नोड्स से फ़ील्ड्स चुन सकते हैं, जैसे शीर्षक (title) और सामग्री (content)। हम यहाँ फ़ील्ड्स के आउटपुट को संसाधित कर सकते हैं और उन्हें समूहित कर सकते हैं।
Filter criteria
फ़िल्टर क्राइटेरिया हमें यह निर्धारित करने देता है कि कौन सी सामग्री view में दिखाई देगी, उदाहरण के लिए, केवल प्रकाशित लेख या केवल किसी विशिष्ट श्रेणी से संबंधित नोड्स।
Sort criteria
जब हमने आवश्यक डेटा को फ़िल्टर कर लिया है, तो उन्हें सॉर्ट करना भी अच्छा होगा। उदाहरण के लिए, नई समाचारों को ऊपर प्रदर्शित करना।
Page Settings
यहाँ हम वह पथ कॉन्फ़िगर कर सकते हैं जिस पर view पेज प्रदर्शित होगा, और एक्सेस को कॉन्फ़िगर कर सकते हैं ताकि, उदाहरण के लिए, केवल अधिकृत उपयोगकर्ताओं को इस view तक पहुँच हो।
Header और Footer
यह आपको view के शीर्ष या नीचे डेटा प्रदर्शित करने की अनुमति देता है। इसके अलावा, हम केवल साधारण HTML तक सीमित नहीं हैं, बल्कि किसी view से फ़ील्ड्स भी सम्मिलित कर सकते हैं या यहाँ तक कि अपने view में एक और view सम्मिलित कर सकते हैं।
Empty text (Failure to conduct)
इस ब्लॉक की कार्यक्षमता Header के समान है, केवल यह तब काम करता है जब view को आउटपुट के लिए कोई डेटा नहीं मिलता।
Pager
जब सूचियाँ बहुत बड़ी होती हैं और हमें उन्हें टुकड़ों में विभाजित करने की आवश्यकता होती है, तो paginator का उपयोग किया जाता है। उदाहरण के लिए, हमारे पास 100 समाचार हैं, लेकिन हम प्रति पेज केवल 10 दिखाना चाहते हैं।
Language
यह view के लिए भाषा चुनने की अनुमति देता है। यह आमतौर पर बहुभाषी साइटों पर उपयोग किया जाता है।
Advanced
यहाँ हम उस ब्लॉक की शुरुआत करते हैं जिसके लिए गहरा ज्ञान आवश्यक है।
Contextual Filters
Contextual filters आपको पेज URL के आधार पर डेटा प्रदर्शित करने की अनुमति देते हैं। उदाहरण के लिए, यदि URL node/10 है, तो ये फ़िल्टर ID 10 वाले नोड का डेटा प्रदर्शित करते हैं। आप इस फ़िल्टर को उपयोगकर्ताओं के साथ काम करने के लिए कॉन्फ़िगर कर सकते हैं ताकि उपयोगकर्ता की प्रोफ़ाइल पेज पर उसके द्वारा बनाए गए नोड्स प्रदर्शित हों।
Relationships
Relationships एक शक्तिशाली उपकरण है जो संबंधित entities को प्रदर्शित करने की अनुमति देता है, जैसे कि नोड्स और उन पर टिप्पणियाँ, श्रेणियाँ और उन श्रेणियों में शामिल नोड्स, उपयोगकर्ता और उनके द्वारा बनाई गई सामग्री।
Exposed form
ये सेटिंग्स उन फ़िल्टर्स के लिए हैं जिन्हें Exposed के रूप में चुना गया है, ताकि उपयोगकर्ता खोज के लिए view फ़िल्टर को गतिशील रूप से बदल सके।
अन्य सेटिंग्स
Machine name — पठनीयता के लिए इसे बदला जा सकता है, जैसे page_3 के बजाय कोई स्पष्ट नाम।
Administrative comment — इस view के लिए नोट्स के रूप में कार्य करता है जो साइट प्रशासकों को दिखाई देते हैं।
Use Ajax — view के लिए Ajax paginator के साथ काम कर सकता है, यानी आपके पास 10 समाचार प्रदर्शित हैं, आप paginator पर क्लिक करते हैं ताकि अगले 10 समाचार प्रदर्शित हों और वे पेज को रीलोड किए बिना लोड हो जाते हैं।
Hide attachments in summary — यह सेटिंग संलग्न सारांश को छिपाने की अनुमति देती है, जिसमें आप एक और view प्रदर्शित कर सकते हैं। उदाहरण के लिए, इसे glossary में उपयोग किया जाता है, जहाँ शीर्ष पर अक्षरों की सूची और नीचे उन अक्षरों की सामग्री प्रदर्शित की जाती है।
Contextual links — view को संपादित करने के लिए त्वरित लिंक प्रदान करते हैं।
Use aggregation — view द्वारा प्रदर्शित लाइनों की संख्या गिनने के लिए उपयोग किया जाता है। उदाहरण के लिए, आप साइट के प्रत्येक सेक्शन के लिए नोड्स की संख्या की गणना कर सकते हैं।
Query settings — जब आप relationships का उपयोग करते हैं, तो आउटपुट के दौरान रिकॉर्ड डुप्लिकेट हो सकते हैं। इस स्थिति में आप इस सेटिंग में जाकर view के लिए Distinct सेट कर सकते हैं।
Caching — view काफी भारी होता है, इसलिए बेहतर है कि इसे कैश किया जाए यदि यह बार-बार अपडेट नहीं होता।
CSS class — आप एक कस्टम क्लास निर्दिष्ट कर सकते हैं ताकि view को थीमिंग के लिए अधिक सुविधाजनक बनाया जा सके।