डीबगिंग के साथ टेम्पलेट फ़ाइलें ढूँढना
किसी विशेष एलिमेंट के लिए कौन सा टेम्पलेट मार्कअप जनरेट कर रहा है, यह जानने के लिए आप Twig की बिल्ट-इन debug ऑप्शन का उपयोग कर सकते हैं। यह पैरामीटर HTML-कमेंट्स को रेंडर्ड आउटपुट के साथ दिखाएगा, जिसमें इस्तेमाल किए गए थीम हुक, सुझाए गए टेम्पलेट फ़ाइल नाम और सटीक Twig फ़ाइल शामिल होगी, जो आपके लेआउट के किसी हिस्से को रेंडर करने में प्रयोग हुई है।
sites/default/services.yml में twig.config सेक्शन में debug:true सेट करके Twig डिबग सक्षम करें (इसे प्रोडक्शन वातावरण में बंद रखें)। यदि आप Drupal 8 को मल्टीसाइट के लिए उपयोग कर रहे हैं, तो आपको उस साइट के लिए sites/currenttsite डायरेक्टरी में services.yml फ़ाइल एडिट करनी चाहिए, जिसे आप बना रहे हैं। अगर services.yml अभी तक मौजूद नहीं है, तो sites/default से default.services.yml कॉपी करें और उसका नाम services.yml कर दें। Twig डिबगिंग पर विस्तृत निर्देश यहाँ देखें: «Twig संकलित टेम्पलेट्स की डिबगिंग».
कैश क्लियर करने के बाद, पेज सोर्स को देखें; आपको इस तरह का कोड दिखाई देगा:
<!-- THEME DEBUG --> <!-- THEME HOOK: 'node' --> <!-- FILE NAME SUGGESTIONS: * node--view--frontpage--page-1.html.twig * node--view--frontpage.html.twig * node--1--teaser.html.twig * node--1.html.twig * node--article--teaser.html.twig * node--article.html.twig * node--teaser.html.twig x node.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content/node.html.twig' --> <article data-history-node-id="1" data-quickedit-entity-id="node/1" role="article" class="contextual-region node node--type-article node--promoted node--view-mode-teaser" about="/node/1" typeof="schema:Article" data-quickedit-entity-instance-id="0"> .... </article> <!-- END OUTPUT from 'core/themes/classy/templates/content/node.html.twig' -->
इस डिबग आउटपुट में ध्यान देने योग्य कुछ बातें:
- फ़ाइल नाम सुझाव सबसे विशिष्ट से लेकर कम विशिष्ट क्रम में सूचीबद्ध होते हैं।
- वर्तमान में उपयोग किए जा रहे फ़ाइल नाम के बगल में “x” चिन्ह होता है।
- BEGIN OUTPUT और END OUTPUT के साथ आप पूरे पाथ को देख सकते हैं, जहाँ से टेम्पलेट रेंडर किया गया है।