Bagaimana cara mendapatkan label bundel yang dapat dibaca manusia dari entitas yang dimuat.
Katakanlah saya ingin mendapatkan label dari simpul bundel my_article yang merupakan "Artikel Luar Biasa Saya"
// Load a node
$node = Drupal::entityManager()->getStorage('node')->load(4);
print $node->bundle(); // prints the machine-readable name. e.g. 'my_article'.
print $node->getEntityType()->getBundleLabel(); // prints 'content type'.
Saya hanya bisa mendapatkan nama bundel atau Label entitas yang dapat dibaca mesin ("tipe konten", "istilah taksonomi", dll.), Tetapi bagaimana cara mendapatkan Label bundel?
PS Saya lebih suka tidak menggunakan kelas / fungsi yang sudah usang
Perhatikan bahwa jawaban yang diterima berlaku khusus untuk entitas simpul tetapi semua entitas memiliki bundel. Banyak entitas, seperti
user
ataumenu_link_content
(untuk tautan menu khusus), hanya memiliki satu bundel yang sesuai dengan jenis entitas itu sendiri.The
entity_type.bundle.info
layanan, dilaksanakan oleh Drupal \ Inti \ Entity \ EntityTypeBundleInfo , menyediakan akses ke informasi entitas bundel. Metode-metodenyagetAllBundleInfo()
dangetBundleInfo($entity_type_id)
mengembalikan array yang diketik berdasarkan jenis entitas dan nama mesin bundel masing-masing, dengan yang sebelumnya berisi array bundel yang dikunci dengan nama mesin bundel. Setiap bundel memilikilabel
kunci dengan nama ramah bundel yang diterjemahkan.Di bawah ini adalah contoh yang menunjukkan perbedaan antara nama mesin entitas konten, label, nama mesin bundel, dan label bundel. Kode ini mengasumsikan bahwa setidaknya ada satu tautan menu khusus dengan ID dari
1
. Ini juga mengasumsikan adaarticle
tipe simpul (bundel), bahwa setidaknya ada satu simpul dengan ID1
, dan bahwa simpul tersebut adalah tipe simpul (bundel)article
.Pastikan untuk menggunakan injeksi dependensi jika memungkinkan dalam kode Anda daripada mengandalkan metode statis
Drupal
kelas.sumber
Berikut ini juga berfungsi:
sumber
Jika Anda tidak yakin tentang
$entity
jenisnya, itu bisa:sumber
Bukan solusi yang paling efisien, tetapi demi kelengkapan, ini berfungsi:
atau
sumber