अपने Drupal 8 मॉड्यूल में डिफ़ॉल्ट कॉन्फ़िगरेशन शामिल करें
मुख्य विषय: डिफ़ॉल्ट कॉन्फ़िगरेशन
सारांश
Drupal 7 में, कंटेंट टाइप्स, फ़ील्ड कॉन्फ़िगरेशन, Views आदि जैसे मॉड्यूल्स के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन सेट करने और अपडेट करने के लिए विशेष PHP कोड की आवश्यकता होती थी। Drupal 8 में, ये सभी कॉन्फ़िगरेशन YAML टेक्स्ट फ़ाइलों में कॉन्फ़िगरेशन सिस्टम के साथ संग्रहीत होती हैं।
उदाहरण के लिए, कंटेंट टाइप्स के निर्माण और प्रबंधन का काम कॉन्फ़िगरेशन सिस्टम देखता है। आप अपने मॉड्यूल के साथ एक कंटेंट टाइप शामिल कर सकते हैं, बस एक कॉन्फ़िगरेशन फ़ाइल बनाकर जिसका नाम और संरचना सही हो।
उदाहरण
node.type.example_mytype.yml नामक एक फ़ाइल बनाएँ और इसे अपने मॉड्यूल की config/install सबडायरेक्टरी में रखें। उदाहरण के लिए, यदि आपका मॉड्यूल /modules/example में है, तो यह फ़ाइल /modules/example/config/install/node.type.example_mytype.yml में हो सकती है।
कृपया नामकरण कन्वेंशन का पालन करें, यानी अपने कंटेंट टाइप का प्रीफ़िक्स अपने मॉड्यूल के नाम से पहले लगाएँ और अंडरस्कोर का उपयोग करें, ताकि अन्य कॉन्फ़िगरेशन फ़ाइलों से टकराव से बचा जा सके।
इसके बाद, आप इस फ़ाइल में निम्नलिखित कोड डाल सकते हैं:
type: example_mytype
name: Example
description: 'Use <em>example</em> content to get to Drupal 8 development better.'
help: ''
new_revision: false
display_submitted: true
preview_mode: 1
status: true
langcode: en
लाइव उदाहरण के लिए देखें node.type.article.yml।
आप डिफ़ॉल्ट कॉन्फ़िगरेशन अन्य चीज़ों के लिए भी शामिल कर सकते हैं, जैसे ब्लॉक्स की प्लेसमेंट, Views, टेक्स्ट फ़ॉर्मेट्स, एडिटर कॉन्फ़िगरेशन, यूज़र रोल्स आदि।
आप फ़ॉर्म फ़ील्ड्स (जैसे कि नोड के लेखक) के लिए भी डिफ़ॉल्ट मान सेट कर सकते हैं।
यदि आपने इस कंटेंट टाइप को जोड़ने से पहले मॉड्यूल इंस्टॉल कर लिया है, तो कॉन्फ़िगरेशन लागू करने के लिए आपको इसे अनइंस्टॉल करके फिर से इंस्टॉल करना होगा।
कॉन्फ़िगरेशन एक्सपोर्ट
आप इन फ़ाइलों को Configuration > Development > Configuration synchronization से कॉन्फ़िगरेशन एक्सपोर्ट करके बना सकते हैं। आप “Single import/export” का उपयोग करके एक कॉन्फ़िगरेशन आइटम एक्सपोर्ट कर सकते हैं, और उस स्थिति में आपको एक टेक्स्ट एरिया मिलेगा जिसमें कॉपी/पेस्ट करने योग्य कोड होगा। या फिर आप “Full export” कर सकते हैं, जो आपको एक .tar.gz फ़ाइल डाउनलोड करने की सुविधा देता है जिसमें एक फ़ोल्डर में सभी कॉन्फ़िगरेशन फ़ाइलें होती हैं।
एक्सपोर्ट की गई कॉन्फ़िगरेशन का उपयोग करते समय, कॉन्फ़िगरेशन से UUID को हटाना महत्वपूर्ण है। हर कॉन्फ़िगरेशन आइटम इस UUID से यूनिक पहचाना जाता है। यदि आप इस UUID को अपने मॉड्यूल में शामिल करते हैं, तो आपके मॉड्यूल का उपयोग करने वाली सभी साइट्स पर वही पहचान होगी, और यह अब यूनिक नहीं रहेगा। यदि आप बस उस लाइन को हटा देते हैं, तो जब आपका मॉड्यूल सक्षम होगा तब Drupal नए UUID बना देगा और यूनिकनेस सुनिश्चित करेगा।
uuid: 626187e6-2176-4a73-8900-c0912580e4a1 < < इसे हटाएँ!
langcode: en
status: true
Drupal Console
Drupal Console यह कमांड प्रदान करता है:
यह निम्नलिखित कार्य करेगा:
- दिए गए कंटेंट टाइप से संबंधित सभी कॉन्फ़िगरेशन फ़ाइलें (फ़ील्ड कॉन्फ़िगरेशन सहित) एक्सपोर्ट करेगा।
- उन्हें आवश्यक मॉड्यूल के कॉन्फ़िगरेशन डायरेक्टरी में रखेगा।
इस प्रकार, यह ऊपर वर्णित मैन्युअल प्रक्रिया की तुलना में बहुत सारा काम बचाता है।