अक्सर हम 500 त्रुटि पृष्ठ का सामना करते हैं जब Drupal, उसकी सेवाएं, या कोई अन्य साइट उपलब्ध नहीं होती है। जब हम 500 (या 501–504) त्रुटि पृष्ठ देखते हैं, तो Drupal Exceptions का उपयोग यह जांचने के लिए करता है कि कोई महत्वपूर्ण कोड निष्पादित हुआ या नहीं। यदि कोई त्रुटि आती है, उदाहरण के लिए किसी अन्य साइट को HTTP अनुरोध भेजते समय, तो Drupal यह त्रुटि संदेश दिखाता है: "The website encountered an unexpected error. Please try again later":
कभी-कभी साइट पर कुछ निश्चित, स्थायी श्रेणियाँ (Categories) होनी चाहिए जिन्हें अनजाने में अपडेट नहीं किया जाना चाहिए। इस स्थिति में आप Event Subscriber के साथ कस्टम कोड का उपयोग कर सकते हैं।
आइए एक नया Event Subscriber क्लास अपने कस्टम मॉड्यूल में जोड़ें।
drupalbook_custom.services.yml
PHP 8 ने constructor property promotion पेश किया, जो एक ऐसी सुविधा है जो क्लास प्रॉपर्टी की परिभाषा और असाइनमेंट को सरल बनाती है। यह आपको constructor सिग्नेचर में ही प्रॉपर्टीज़ को घोषित करने और इनिशियलाइज़ करने की अनुमति देती है। यह ट्यूटोरियल Drupal कस्टम मॉड्यूल्स (जो PHP 8.0+ की आवश्यकता रखते हैं) में constructor property promotion का उपयोग कैसे करें, यह दिखाता है, विशेष रूप से आपके सर्विसेज़ और कंट्रोलर्स में dependency injection को सरल बनाने के लिए। हम पारंपरिक Drupal पैटर्न (जो PHP 7 और प्रारंभिक Drupal 9 में उपयोग होता था) की तुलना आधुनिक PHP 8+ तरीके से कर
EPT मॉड्यूल्स आपको अपनी कस्टम थीम में टेम्पलेट्स को ओवरराइड करने की अनुमति देते हैं।
अब एक नया थीम सजेशन उपलब्ध है जिसमें --custom उपसर्ग होता है, जिससे आप अपनी कस्टम थीम में टेम्पलेट को ओवरराइड कर सकते हैं:
EPT मॉड्यूल्स आपको अपनी कस्टम थीम में टेम्पलेट्स को ओवरराइड करने की अनुमति देते हैं।
इसके लिए एक नया थीम सजेशन होता है जिसमें --custom उपसर्ग जोड़ा गया होता है, जिससे आप अपनी कस्टम थीम में टेम्पलेट को ओवरराइड कर सकते हैं:
नया EPT सेटिंग्स फ़ॉर्म क्लास बनाएँ
मैंने कई प्रोग्रामरों से EPT मॉड्यूल्स के लिए सेटिंग्स की संख्या (DOM Box, बैकग्राउंड, बॉर्डर्स, क्लासेस आदि) को लेकर चिंताएँ सुनी हैं। इन प्रोग्रामरों का मानना था कि कंटेंट एडिटर्स भ्रमित होंगे या किसी और तरह से प्रेरित होंगे कि वे पैराग्राफ, मार्जिन, बैकग्राउंड्स को बहुत अलग-अलग कर दें। कुछ प्रोजेक्ट्स को लचीलापन और कंटेंट एडिटर्स के लिए अधिक सेटिंग्स की ज़रूरत होती है, लेकिन कुछ प्रोजेक्ट्स में कंपोनेंट्स के साथ काफ़ी सख़्त स्टोरीबुक्स होते हैं। ऐसे मामले में हमें अपने EPT Settings फ़ील्ड विजेट को बदलने की ज़रूरत है।