3.5.1. Views फ़िल्टर और सॉर्टिंग।
सबसे पहले हमें यह सीखना होगा कि Views का उपयोग करके ब्लॉक्स और पेजेज़ कैसे प्रदर्शित किए जाते हैं। आइए पेजेज़ से शुरू करें — हम अपनी साइट पर सभी लेख प्रदर्शित करेंगे।
Views के माध्यम से पेज आउटपुट करना
अपना पहला View बनाने के लिए जाएँ: Manage → Structure → Views
अब हमें अपने View का नाम दर्ज करना है और यह चुनना है कि हम क्या प्रदर्शित करना चाहते हैं — Content, Comments, Users या Taxonomies (हम अभी Articles प्रदर्शित कर रहे हैं)। कंटेंट टाइप के लिए Article फ़िल्टर चुनें। सॉर्टिंग में यह निर्धारित करें कि नए लेख पहले दिखें:
अब यदि हम एक पेज बनाना चाहते हैं तो Create page बॉक्स पर टिक करें, या यदि ब्लॉक बनाना है तो Create block पर। पहले हम सभी लेखों के साथ एक पेज बनाएँगे। आपको पेज का पथ और उसका नाम निर्दिष्ट करना होगा। साथ ही, आप यह भी चुन सकते हैं कि सामग्री कैसे प्रदर्शित की जाए और एक पेज पर कितने लेख दिखें — नीचे हम इन सेटिंग्स को विस्तार से देखेंगे।
Save and Edit पर क्लिक करें। अब क्रमवार तरीके से Views कंस्ट्रक्टर के सभी भागों को देखें।
जोड़ना और हटाना
एक ही View में कई Display (जैसे Page और Block) हो सकते हैं। यह तब बहुत उपयोगी होता है जब आप एक पेज पर सभी लेख दिखाना चाहते हैं और उसी View के ब्लॉक में केवल पाँच लेख। इस तरह आप प्रत्येक Display की सेटिंग्स को अलग-अलग नियंत्रित कर सकते हैं। अभी के लिए आप प्रत्येक ज़रूरत के लिए अलग-अलग Views बना सकते हैं।
Format
यहाँ आप View के आउटपुट का Format चुन सकते हैं। कुछ सामान्य Formats हैं:
- HTML List — सूची को <ul> टैग के माध्यम से प्रदर्शित करता है।
- Unformatted List — आउटपुट को <div> टैग्स में दिखाता है।
- Grid — बिना हेडर के टेबल लेआउट में आउटपुट करता है, छवियों के लिए उपयुक्त। आप कॉलम की संख्या सेट कर सकते हैं।
- Table — टेबल के रूप में आउटपुट करता है जिसमें हेडर होते हैं, यह तब उपयोगी होता है जब आपको बहुत सी जानकारी एक साथ प्रदर्शित करनी हो।
Fields या Teasers?
हम कंटेंट को Teasers या Fields के रूप में भी प्रदर्शित कर सकते हैं। पिछले पाठ में आपने सीखा कि Teasers में कौन से फील्ड दिखाने हैं। अब हम आउटपुट को फील्ड्स के माध्यम से दिखाएँगे:
अब हम फ़ील्ड जोड़ सकते हैं। उदाहरण के लिए, Node के Title और Body फ़ील्ड प्रदर्शित करें:
Add पर क्लिक करें और Content: Body फ़ील्ड चुनें।
अब हमारे पास दो फ़ील्ड हैं — Title और Body। आप चाहें तो Author, Category या Publication Date जैसे अतिरिक्त फ़ील्ड्स भी जोड़ सकते हैं।
Body फ़ील्ड में आप टेक्स्ट को निश्चित अक्षरों तक काट सकते हैं और तीन बिंदु (...) जोड़ सकते हैं। इसके लिए Body फ़ील्ड पर क्लिक करें और आउटपुट सेटिंग्स में Trim this field to a maximum चुनें और अक्षरों की सीमा लिखें:
इसके बाद Strip HTML tags विकल्प पर टिक करें ताकि कोई अपूर्ण HTML टैग्स टेक्स्ट में न रहें।
Filters
अब हमारे पास दो Filters हैं — एक केवल प्रकाशित नोड्स (Published nodes) दिखाने के लिए, और दूसरा केवल Articles दिखाने के लिए। लेकिन हम इन्हें बदल भी सकते हैं।
Add पर क्लिक करने पर आप तैयार Filters की सूची से चुन सकते हैं। उदाहरण के लिए, केवल पिछले एक सप्ताह में लिखे गए Articles दिखाने के लिए Content: Authored on चुनें और Value में -7 days लिखें।
यदि Filters में Use Files जैसा कोई फ़िल्टर दिखे तो उसे हटा दें और Content Type फ़िल्टर चुनें:
किसी फ़िल्टर को हटाने के लिए Add बटन के पास वाले तीर पर क्लिक करें और Rearrange चुनें। वहाँ से आप अनचाहे फ़िल्टर हटा सकते हैं और फिर नया Content Type फ़िल्टर जोड़ सकते हैं।
आप Author, Tags या Categories के आधार पर भी फ़िल्टर कर सकते हैं। इन सभी के साथ प्रयोग करें ताकि आपको Filters की पूरी समझ हो सके। अब सॉर्टिंग पर आते हैं।
Sorting
Views में हम केवल आवश्यक सामग्री ही नहीं चुन सकते, बल्कि उन्हें एक विशिष्ट क्रम में भी प्रदर्शित कर सकते हैं।
डिफ़ॉल्ट रूप से सॉर्टिंग प्रकाशन तिथि (date of addition) के अनुसार होती है — नया कंटेंट ऊपर दिखता है। लेकिन हम अपनी सामग्री को “Weight” के आधार पर भी सॉर्ट कर सकते हैं। इसके लिए पहले Article में Weight नाम का एक नया Integer फ़ील्ड जोड़ें (न्यूनतम 1)।
अब एक नया Sorting Criterion जोड़ें: Content: Weight, और ऑर्डर को Descending सेट करें — यानी जिन Articles का Weight ज़्यादा होगा वे ऊपर दिखेंगे।
Sorting क्रम बहुत महत्वपूर्ण होता है। यदि पहले Sorting Publication Date पर है, तो पहले सभी परिणाम तिथि के अनुसार सॉर्ट होंगे, और केवल समान तिथि वाले Articles अगले Sorting Criterion से सॉर्ट होंगे।
इसलिए हमें क्रम बदलना चाहिए — पहले Weight के अनुसार सॉर्ट करें (ऊँचे Weight पहले), और यदि Weight समान हों तो Publication Date के अनुसार।
इसके लिए Add बटन पर तीर क्लिक करें → Rearrange चुनें और ड्रैग-एंड-ड्रॉप से Sorting क्रम बदलें।
अब View को Save करें। सब कुछ तैयार है। अब कुछ Articles बनाएँ, अपनी साइट पर जाएँ (/articles या जो भी पथ आपने सेट किया हो) और परिणाम देखें: