नोड टेम्पलेट में मानव पठनीय सामग्री प्रकार नाम कैसे प्राप्त करें


14

मैंने अपने नोड के लिए नोड टेम्प्लेट बनाया है, और इसके ठीक काम कर रहा हूं।

मुझे कंटेंट टाइप नाम प्रिंट करने की आवश्यकता है, जो "व्हाइटपेपर" जैसा है और मेरे नोड टेम्पलेट में मशीन का नाम "w1" है। अगर मैं वेरिएबल का उपयोग करता हूं {{ node.bundle }}, तो इसका प्रिंटिंग मशीन नाम। लेकिन मुझे मानवीय पठनीय नाम चाहिए

मैंने नोड, सामग्री और पृष्ठ चर के कई तत्वों की कोशिश की, लेकिन मैं मानव पठनीय सामग्री प्रकार नाम को प्रिंट करने में सक्षम नहीं हूं।

क्या कोई मदद कर सकता है?

जवाबों:


23

आपको अपने नोड ट्विग टेम्पलेट में निम्नलिखित स्निपेट का उपयोग करके सामग्री प्रकार (या "लेबल") का मानव-पठनीय नाम प्राप्त करने में सक्षम होना चाहिए।

{{ node.type.entity.label }} 

2
हां, यह सबसे आसान उपाय है, नोड प्रकार का उल्लेख करते हुए इस क्षेत्र का उपयोग करने के लिए मेरे दिमाग को पार नहीं किया
4k4

2
मैंने कोशिश की, {{node.label}} जो मशीन नाम वापस कर रहा था, {{node.type.entity.label}} ने मेरा उद्देश्य पूरा किया, धन्यवाद :)
Dev

4

आप प्रीप्रोसेस हुक में सामग्री प्रकार का मानव पठनीय नाम जोड़ सकते हैं:

mytheme.theme

/**
 * Implements hook_preprocess_node().
 */
function mytheme_preprocess_node(array &$variables) {
  $node = $variables['node'];
  $variables['content_type'] = node_type_load($node->bundle())->label();
}

और नोड टेम्पलेट में इसका उपयोग करें:

{{ content_type }}

1
केवल रिकॉर्ड के लिए node_type_load को पदावनत किया जाता है, आपको इसके बजाय NodeType :: load () का उपयोग करना चाहिए।
इंसास
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.