मैं नोड ऑब्जेक्ट से नोड प्रकार लेबल कैसे प्राप्त करूं?


12

मैं Drupal 8 में नोड ऑब्जेक्ट से नोड का बंडल लेबल (नोड प्रकार लेबल) प्राप्त करने की कोशिश कर रहा हूं।

यह काम करता है, लेकिन लंबे समय से घुमावदार लगता है:

$node_type = \Drupal::entityManager()->getStorage('node_type')->load($node->getType())->get('name');

क्या बंडल लेबल प्राप्त करने का एक और तरीका है, कम जटिल तरीके से संभव है ?


6
$node->type->entity->label();शायद थोड़ा और अधिक सुंदर है? मैं वहाँ एक छोटा संस्करण वर्तमान में यकीन नहीं है
क्लाइव

2
टहनी टेम्पलेट में भी काम करता है: {{node.type.entity.label}}
१ate

जवाबों:




6

यदि आप टहनी में लेबल चाहते हैं

{{ node.type.entity.label }}

5

इस कोड को आज़माएं।

use Drupal\node\Entity\NodeType;

$types = NodeType::loadMultiple();
$bundle = $node->bundle(); 
$type_name = $types[$bundle]->label();

2
वह केवल एक का लेबल पाने के लिए सभी नोड प्रकारों को लोड करता है। थोड़ा अक्षम, बेहतर है कि आप जो चाहते हैं उसे लोड करें।
बर्दिर

इस बात से सहमत! यह सिर्फ @ Sssweat के कोड पर आधारित है।
MRD

@Berdir कि बाहर इशारा करने के लिए thx। मैं सवाल का जवाब नहीं देना चाहता, इसलिए मैं इसे स्वीकार किए गए जवाब के रूप में छोड़ दूंगा। मैं इसके बजाय अपने स्वयं के उत्तर में कोड का उपयोग कर रहा हूं।
Sssweat'

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.