Bagaimana cara mendapatkan label jenis simpul dari objek simpul?


12

Saya mencoba untuk mendapatkan label bundel (node ​​type label) dari node dari objek node di Drupal 8.

Ini berfungsi, tetapi tampaknya bertele-tele:

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

Apakah ada cara lain untuk mendapatkan label bundel, mungkin dengan cara yang tidak terlalu rumit ?


6
$node->type->entity->label();apakah mungkin sedikit lebih anggun? Saya tidak yakin ada versi yang lebih pendek saat ini
— Clive

2
Juga berfungsi di templat ranting: {{node.type.entity.label}}
— oknate

Jawaban:



8

Jika Anda membutuhkan nama mesin tipe simpul di templat Ranting:

{{ node.getType }}

6

Jika Anda ingin label dalam ranting

{{ node.type.entity.label }}

5

Coba kode ini.

use Drupal\node\Entity\NodeType;

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

2
Itu memuat semua jenis simpul hanya untuk mendapatkan label satu. sedikit tidak efisien, lebih baik memuat yang Anda inginkan.
— Berdir

Setuju! Hanya berdasarkan kode @No Sssweat.
— MrD

@Berdir thx untuk menunjukkan itu. Saya tidak ingin bunglon pertanyaan, jadi saya akan meninggalkan ini sebagai jawaban yang diterima. Saya menggunakan kode dalam jawaban saya sendiri sebagai gantinya.
— Tidak ada Sssweat

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.