Bir düğüm nesnesinden düğüm türü etiketini nasıl alabilirim?


12

Drupal 8 bir düğüm nesnesinden düğümün paket etiket (düğüm türü etiketi) almaya çalışıyorum.

Bu çalışıyor, ancak uzun soluklu görünüyor:

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

Daha az karmaşık bir şekilde paket etiketini almanın başka bir yolu var mı ?


6
$node->type->entity->label();belki biraz daha zarif mi? Şu anda daha kısa bir versiyon olduğundan emin değilim
Clive

2
Ayrıca dal şablonu içinde çalışır: {{node.type.entity.label}}
oknate

Yanıtlar:



8

Twig şablonunda düğüm tipi makine adına ihtiyacınız varsa:

{{ node.getType }}

6

Eğer etiket dalında istiyorsanız

{{ node.type.entity.label }}

5

Bu kodu deneyin.

use Drupal\node\Entity\NodeType;

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

2
Bu, yalnızca bir tane etiketini almak için tüm düğüm türlerini yükler. biraz verimsiz, sadece istediğinizi yüklemek daha iyi.
Berdir

Katılıyorum! Sadece @ No Sssweat koduna dayanıyor.
MrD

@Berdir thx bunu işaret ettiğin için. Soruyu bukalemun yapmak istemiyorum, bu yüzden bunu kabul edilen cevap olarak bırakacağım. Kod yerine kendi cevabımda kullanıyorum.
Hayır Sssweat

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.