में page.html.twigआप होगा एक काम है {{ base_path }}चर। यह हर टेम्पलेट में उपलब्ध क्यों नहीं है, मुझे पता नहीं है। जैसा कि मुझे लगता है कि यह होना चाहिए और बाकी सब कुछ गड़बड़ दिख रहा है, मेरा पसंदीदा समाधान बिल्कुल वैसा ही है जैसा कि ड्रुपल को मेरी आवश्यकता वाले किसी भी स्थान के लिए प्रीप्रोसेस पेज फ़ंक्शन में होता है।
बनाने के लिए {{ base_path }}एक विषय नामित उदाहरण में ब्लॉक टेम्पलेट्स के लिए उपलब्ध, के लिए इस कोड को जोड़ने example.themeफ़ाइल:
/**
* Implements hook_preprocess_block().
*/
function example_preprocess_block(&$variables) {
$variables['base_path'] = base_path();
}
जैसा कि एमपीडी द्वारा प्रदान किए गए स्वीकार किए गए उत्तर में उल्लेख किया गया है, यदि नोड या अन्य इकाई का यूआरएल प्राप्त करना आपके लिए यह सब करने के तरीके हैं।
हालाँकि, आधार_पथ प्राप्त करने के कारण हैं, जैसे कि आपके थीम फ़ोल्डर में रहने वाले चित्र प्रदर्शित करना। {{ directory }}थीम फ़ोल्डर को पथ प्रदान करता है, लेकिन यह आधार पथ को बंद कर देता है (आमतौर पर सिर्फ एक / लेकिन एक डोमेन के उपनिर्देशिका जो हार्डकोड नहीं किया जाना चाहिए) से Drupal के उचित कामकाज को संरक्षित करने के लिए)। page.html.twigउपरोक्त प्रीप्रोसेसर वाले किसी भी टेम्पलेट पर या उस उद्देश्य के लिए यह काम करेगा:
<img src="{{ base_path ~ directory }}/images/nsf1.svg"
alt="National Science Foundation logo" height="80" width="80" />
और निश्चित रूप से शॉन कॉन का जवाब ठीक काम करता है यदि आप सुंदर टेम्पलेट्स के लिए अपनी इच्छा को दबा सकते हैं, लेकिन मैं नहीं कर सकता।