
पिछले लेखों में हमने देखा कि लिंक फील्ड टाइप कैसे काम करता है: स्टोरेज, विजेट, फॉर्मेटर। इस लेख में हम एक नया फील्ड टाइप बनाएंगे जो पेज पर यूट्यूब से वीडियो दिखाने के लिए होगा, जिसमें दो अलग-अलग फॉर्मेट और सेटिंग्स होंगी।
यह लेख Fields API पर केंद्रित है, और यदि आपको अपनी साइट पर यूट्यूब वीडियो फील्ड जोड़ने की आवश्यकता है, तो बेहतर होगा कि आप तैयार मॉड्यूल का उपयोग करें:


Drupal मॉड्यूल विकसित करते समय डेटाबेस क्वेरी चलाना एक सामान्य प्रक्रिया है। जहाँ भी संभव हो, आपको entityQuery का उपयोग करना चाहिए, लेकिन कभी-कभी अधिक जटिल डेटा प्राप्त करने के लिए SQL क्वेरी की आवश्यकता होती है।
आप इस पेज को बुकमार्क कर सकते हैं ताकि Drupal में MySQL क्वेरी — select, insert, update, delete — को चलाने का त्वरित संदर्भ (cheat sheet) हमेशा आपके पास रहे।
Select
एकल मान (single value) प्राप्त करना:


इस लेख में हम Field Formatters पर विचार करेंगे, जो हमें फ़ील्ड्स के प्रदर्शन (display) को संपादित करने और उन्हें पेज पर प्रदर्शित करने की अनुमति देते हैं।
पिछले लेखों में हमने Link नामक एक फ़ील्ड टाइप बनाया था। इस लेख में हम देखेंगे कि ये फ़ील्ड्स पेज पर कैसे दिखाई देते हैं और इसके लिए कौन-सी क्लास ज़िम्मेदार होती है।
हर फ़ील्ड जिसे आप Drupal के माध्यम से जोड़ते हैं, उसे पेज पर प्रदर्शित किया जा सकता है और उसकी सेटिंग्स को Manage display पेज पर बदला जा सकता है।


Drupal मॉड्यूल विकसित करते समय डेटाबेस क्वेरी चलाना एक सामान्य कार्य है। जहाँ संभव हो, आपको entityQuery का उपयोग करना चाहिए, लेकिन कभी-कभी अधिक जटिल डेटा प्राप्त करने के लिए आपको SQL क्वेरी का उपयोग करना आवश्यक होता है।
आप इस पेज को बुकमार्क कर सकते हैं ताकि आपके पास हमेशा यह "चीट शीट" रहे कि Drupal में MySQL क्वेरीज़ — select, insert, update, delete — कैसे चलाई जाती हैं।
Select
एकल (single) मान प्राप्त करना:


पिछले लेखों में हम पहले ही hooks से परिचित हो चुके हैं। इस लेख में, हम उन हुक्स को विस्तार से देखेंगे जो एंटिटीज़ (Entities) के साथ काम करने में मदद करते हैं।
सामान्य रूप से यह जानने के लिए कि हुक्स क्या होते हैं और उनकी आवश्यकता क्यों होती है, आप इस लेख को पढ़ सकते हैं:
http://drupalbook.org/drupal/92-what-hook-drupal-8
हम हुक्स का उपयोग अपने कस्टम कोड को जोड़ने के लिए करेंगे, जो एंटिटीज़ से संबंधित कुछ विशेष घटनाओं पर चलेंगे — जैसे जोड़ना (add), हटाना (delete), अपडेट करना (update)।


Drupal में एंटिटीज़ (Entities) के साथ काम करने की प्रक्रिया एकीकृत (unified) है, और सभी CRUD ऑपरेशन्स (Create, Read, Update, Delete) सभी एंटिटीज़ के लिए एक जैसी होती हैं। इस लेख में हम सीखेंगे कि कस्टम कोड में एंटिटीज़ के साथ कैसे काम किया जाए।
पहले कुछ सरल उदाहरण देखते हैं।


Drupal में एंटिटी के भीतर फ़ील्ड मान प्राप्त करना काफी सरल है, लेकिन ऐसा करने के कई तरीके हैं। आइए देखें कि कस्टम कोड में फ़ील्ड वैल्यूज़ के साथ काम करने का सबसे अच्छा तरीका क्या है। आप हमेशा Drupal की आधिकारिक वेबसाइट पर फ़ील्ड्स के साथ काम करने की नवीनतम जानकारी देख सकते हैं:
https://www.drupal.org/docs/8/api/entity-api/working-with-the-entity-api
इस लेख में, हम मानों (values) के साथ काम करने के उदाहरणों को देखेंगे।


हम पहले ही Form API, Fields API को समझ चुके हैं और जानते हैं कि Drupal में डेटा डेटाबेस में कैसे संग्रहीत होता है। अब आइए Drupal साइटों की नींव यानी Entity API को समझें।


संबंध (Relationships) Drupal का एक बहुत महत्वपूर्ण हिस्सा हैं — इन्हीं की वजह से टैक्सोनॉमी शब्द और सामग्री, उपयोगकर्ता और सामग्री, उत्पाद और कॉमर्स में उनके प्रदर्शन को एक-दूसरे से जोड़ा जा सकता है। इसकी मदद से हम सामग्री प्रदर्शित करते समय उपयोगकर्ता फ़ील्ड्स दिखा सकते हैं, और उत्पाद प्रदर्शित करते समय उनकी कीमत और आर्टिकल नंबर प्रदर्शित कर सकते हैं।
यानी हम सामग्री प्रदर्शित करते समय लेखक की जानकारी (जैसे नाम या अवतार) और उत्पाद प्रदर्शित करते समय उसकी कीमत जैसी जानकारी जोड़ सकते हैं।


उपयोगकर्ता — यह Drupal की मुख्य विशेषताओं में से एक है। हम उपयोगकर्ताओं को बना सकते हैं, हटा सकते हैं। साइट पर उपयोगकर्ता टिप्पणियाँ, समीक्षाएँ और सामग्री जोड़ते हैं। Drupal में उपयोगकर्ता मॉडरेशन सिस्टम मौजूद है। और यह Drupal की कार्यक्षमता का केवल एक हिस्सा है, इसलिए हमें Drupal के एडमिन पैनल को समझना आवश्यक है ताकि हम इन सभी चीजों को प्रबंधित कर सकें।
अब चलिए Account settings (खाता सेटिंग्स) में चलते हैं:
