पृष्ठ.html.twig के अंदर एक नोड फ़ील्ड रेंडर करें


12

मेरे पास मेरी सामग्री प्रकार (field_hero_image) पर एक छवि फ़ील्ड है।

मैं इसे नोड html.twig फ़ाइल में प्रस्तुत करना नहीं चाहता। हालाँकि, मैं इसे Page.html.twig फ़ाइल में रेंडर करना चाहता हूँ। विशेष रूप से, मैं इसे पृष्ठ शीर्षक के साथ रेंडर करना चाहता हूं।

नोड स्तर के खेतों तक पहुँचने और उन्हें रेंडर करने के लिए मैं अपने पेज में क्या कोड इस्तेमाल करूंगा।

(इसी तरह का एक प्रश्न पोस्ट किया गया है, लेकिन मैं अपनी समस्या को हल करने के लिए वहां दिए गए उत्तर का उपयोग करने में असमर्थ था।)

इस Drupal 8 थीम के लिए।


2
@kiamlaluno - आपने मेरे प्रश्न का संपादन क्यों किया ?? शीर्षक में "Drupal 8" होना और प्रश्न में संभावित asnwer प्रदाताओं के लिए यह स्पष्ट हो जाता है और Google में खोजने में बहुत आसान हो जाता है, जिससे Drupal 6 और 7 सामग्री की व्यापकता को देखते हुए; Drupal को 8 प्रश्न / उत्तर बहुत स्पष्ट करना डी 8 विशिष्ट उत्तरों की तलाश में सांप्रदायिकता के लिए सहायक है। सोच रहा था कि इसे बदलने का आपका तर्क क्या है।
kraftybasterd

कृपया प्रश्न शीर्षक में टैग को डुप्लिकेट न करें; टैग हर उस जगह पर दिखाई देते हैं जहां कोई प्रश्न दिखाई देता है, इसलिए टैग का उपयोग करने की भी आवश्यकता नहीं है।
kiamlaluno

2
Obviosuly, मैं यहां नया हूं ... लेकिन क्या मेटा टैग (इस मामले में, "8") खोज इंजन परिणामों के साथ मदद करते हैं? मुझे ऐसा लगता है कि Drupal 8 या Drupal 7 वाले कंटेंट शीर्षक संभवतः Google के माध्यम से उत्तर खोजने में लोगों की मदद कर सकते हैं ... हालांकि यह एक विचार है।
kraftybasterd

जवाबों:


26

काफी अधिक शोध करने के बाद, मैं अन्य प्रश्नों में पर्याप्त टुकड़े ढूंढने में सक्षम था और drupal.org पर वह हासिल करने के लिए जो मैं करना चाहता था।

इस उत्तर के लिए किसी पूर्व-प्रसंस्करण की आवश्यकता नहीं है, इसलिए आपके mytheme.theme फ़ाइल में कोई कोड जोड़ने की आवश्यकता नहीं है।
ये सभी चर पहले से ही पृष्ठ में उपलब्ध हैं। डिफ़ॉल्ट रूप से।

पृष्ठ के अंदर किसी फ़ील्ड के डिफ़ॉल्ट मान को रेंडर करने के लिए। Html के साथ, आप आमतौर पर एक टिव चर का उपयोग करेंगे {{ node.field_some_name.value }}

यदि आपके पास एक छवि फ़ील्ड है, और URL को उस फ़ील्ड में संग्रहीत छवि पर रेंडर करना चाहते हैं, जो पृष्ठ.html.twig टेम्पलेट के अंदर है, तो आप उपयोग करेंगे {{ file_url(node.field_some_image.entity.fileuri) }}

अंत में, यदि आप page.html.twig टेम्पलेट के अंदर नोड का शीर्षक रेंडर करना चाहते हैं, तो आप उपयोग करेंगे {{ node.label }}

मैंने यह भी सीखा कि अपने किसी विशेष मुद्दे के लिए कुछ ट्विग कंडीशंस का उपयोग कैसे किया जाए, लेकिन यह इस प्रश्न / उत्तर के दायरे से परे है।


मुझे संदेह था, इस धारणा में कि डी 7 में इस तरह की चीज हमेशा उदाहरण के लिए होनी चाहिए। हालाँकि, file_url()डॉक्स ( drupal.org/docs/8/theming/twig/functions-in-twig-templates ) का उदाहरण ठीक यही करता है, इसलिए, अपवित्र।
ग्राहम C

आप एक विशिष्ट सामग्री प्रकार के माध्यम से कैसे लूप करते हैं और इसके फील्ड वैल्यूज़ को अंदर आउटपुट करते हैं page.html.twig?
नौरास डरौची

2

इसके साथ काम करने के लिए तीन आसान तरीके हैं, जिनमें से सभी आपको जटिल रेंडर सरणियों में खुदाई करने में समय बचाते हैं।

  1. डिस्प्ले सूट (सबमॉड्यूल ds_extras के साथ) का उपयोग करके आप नायक क्षेत्र को एक ब्लॉक ("ब्लॉक क्षेत्र") में असाइन कर सकते हैं जो एक अलग डिस्प्ले मोड है (यानी सिर्फ एक नायक जिसमें छवि होती है)। इस प्रकार आपको एक ही बार में दो अलग-अलग डिस्प्ले मोड मिलते हैं। ध्यान दें कि कुछ प्रीप्रोसेस हुक आग नहीं कर सकते हैं जैसा कि आप उम्मीद कर सकते हैं यदि आप ऐसा करते हैं।

  2. Twig_tweak मॉड्यूल बहुत तरह के कार्यों को सरल और फ़ील्ड मान के लिए आसान टहनी बयान दे सकते हैं। कुछ सामान्य उपयोगों के लिए धोखा पत्र पर एक नज़र डालें : {{ drupal_field('field_image', 'node', 1) }}फ़ंक्शन हस्ताक्षर है:drupalField($field_name, $entity_type, $id = NULL, $view_mode = 'default', $langcode = NULL)

  3. Twig_field_value मॉड्यूल सरल टहनी बयान करता है। प्रति README.txt:<img src={{ file_url(content.field_image|field_target_entity.uri.value) }} alt={{ content.field_image|field_raw('alt') }} />

अगर मुझे यह पहले से पता होता, तो इससे मुझे काफी समय बच जाता!


1
यह सही जवाब है। मेरे अनुभव में, क्षेत्र प्रदान{{ node.field_some_name.value }} नहीं करता है । यह पूर्ण थीम सिस्टम (प्रीप्रोसेस फ़ंक्शन, टेम्प्लेट, आदि) को लागू नहीं करता है। OTOH, अगर आप का उपयोग मॉड्यूल, आप पूरी तरह से गाया क्षेत्र के साथ प्राप्त कर सकते हैंtwig_tweak{{ node.field_some_name|view }}
kentr
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.