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.