Drupal होस्टिंग में कस्टम पृष्ठ जोड़ें
पथ और इसके विकल्प की घोषणा।
यह कदम पृष्ठ शीर्षक, पेज के लिए पहुँच आवश्यकताओं, और अन्य शामिल हैं।
Drupal 7 में, आप hook_menu को लागू करने के लिए किया था ()।
Drupal 8 में, फ़ाइल बनाने
कोड लिखें पेज शरीर वापस जाने के लिए।
Drupal 7 में, आप पृष्ठ-कॉलबैक समारोह hook_menu में निर्दिष्ट () लिखना पड़ा।
Drupal 8 में, पेज कॉलबैक या तो एक वर्ग विधि या एक पंजीकृत सेवा होना चाहिए। यह विभिन्न स्थितियों (http बनाम https, सामग्री हेडर, अन्य) के आधार पर अलग हो सकता है लेकिन यह है कि इस परिचय के दायरे के बाहर है।
पूर्वाभ्यास
इस पृष्ठ पर उदाहरण के बाद, आप अपने कस्टम मॉड्यूल में एक सरल पृष्ठ बनाने के लिए Drupal के internals के बारे में अधिक जानने के लिए बिना सक्षम होना चाहिए। अधिक जानकारी के लिए, मार्ग प्रणाली और कोर में विभिन्न कार्यान्वयन और उदाहरण परियोजना को बदलने के लिए परिवर्तन रिकॉर्ड देखें।
उदाहरण के लिए मॉड्यूल YAML फ़ाइल रूटिंग
रूटिंग जानकारी उदाहरण / example.routing.yml में संग्रहीत है:
example.my_page इस मार्ग की मशीन नाम है। परंपरा के अनुसार, मार्ग मशीन नाम module_name.sub_name किया जाना चाहिए। कोड के अन्य भागों मार्ग का उल्लेख करने की जरूरत है, वे मशीन नाम का उपयोग करेगा। पथ यह आपकी साइट पर पेज के लिए पथ देता है। नोट अग्रणी स्लैश (/)! चूक यह पृष्ठ और शीर्षक कॉलबैक वर्णन करता है। @todo: जहां इन चूक अधिरोहित जा सकता है? आवश्यकताओं यह परिस्थितियों के अंतर्गत पेज प्रदर्शित किया जाएगा निर्दिष्ट करता है। आप अनुमतियाँ, मॉड्यूल है कि सक्षम होना चाहिए, और अन्य शर्तों निर्दिष्ट कर सकते हैं।
उदाहरण मॉड्यूल के लिए पृष्ठ कार्यान्वयन
नियंत्रक वर्ग ExampleController उदाहरण / src / नियंत्रक / ExampleController.php में परिभाषित किया जाना चाहिए:
नाम स्थान यह उपसर्ग पूरी तरह से वर्ग हम परिभाषित कर रहे हैं के नाम अर्हता प्राप्त करने के लिए आवश्यक की घोषणा की। फ़ाइल के दस्तावेज़ ब्लॉक और वर्ग के नाम की तुलना करें। वर्ग ऑटो लोडर जानता है कि, वर्ग \ Drupal \ उदाहरण \ नियंत्रक \ ExampleController खोजने के लिए। यह फ़ाइल मॉड्यूल / उदाहरण / src / नियंत्रक / ExampleController.php के लिए दिखना चाहिए। का उपयोग यह हमें पूरी तरह से योग्य नाम के बजाय ControllerBase उपयोग करने के लिए अनुमति देता है। यह हमारी कक्षा लाइन बहुत आसान को पढ़ने के लिए बनाता है। myPage () विधि YAML फ़ाइल में निर्दिष्ट सार्वजनिक होना चाहिए। यह एक renderable सरणी वापस आ जाएगी।