Bir terimden tüm terimleri listele


25

Servisler denilen bir taksonom var ve bütün terimleri listelemek istiyorum. Vocab'ı yükleyebilirim

 $vocabulary = taxonomy_vocabulary_machine_name_load('Services')

ancak tüm şartları çıkardığı söylenemez.


detaylı kod yazabilir misin?
monymirza

Yanıtlar:


43

Birkaç yol var ama ben tercih ederim entity_load():

$vocabulary = taxonomy_vocabulary_machine_name_load('Services');
$terms = entity_load('taxonomy_term', FALSE, array('vid' => $vocabulary->vid));

Ayrıca şunları da kullanabilirsiniz:


Kullanmanın avantajlarını açıklayabilir misiniz entity_load?
niksmac

3
@NikhilM Yazmak için daha az karakter taxonomy_term_load_multiple()var, bu yüzden kişisel olarak tercih ediyorum. Kullanımı taxonomy_get_tree()Özellikle orijinal hiyerarşisinde terimleri (OP belirtmedi olan) gerekmedikçe, katılan sorgulara tanıtır karmaşıklık gereksiz seviyelerini
Clive

Sevdim, aşağıdaki cevabın okunması biraz daha kolay olduğunu düşünüyorum.
LeBlaireau

@welovedesign Gerçekten mi? 6'dan 2 satır tercih ediyorum ama bu sadece kişisel bir tercih :) 80 karakterin altında olduğu sürece, hala Drupal'ın kodlama standartlarına da
uyuyorsunuz


18

Bu kodu kullanmak istiyorum.

$name = 'YOUR_VOCAB_NAME';
$myvoc = taxonomy_vocabulary_machine_name_load($name);
$tree = taxonomy_get_tree($myvoc->vid);
foreach ($tree as $term) {
 echo $term->tid;
}

taxonomy_vocabulary_machine_name_load

taxonomy_get_tree


Çok dilli bir siteniz varsa, bu istediğiniz gibi çalışmaz. Tüm terimleri istersem, dilden bağımsız olarak, bu size uygun sonuçlar vermez. "taxonomy_get_tree", dili temel alarak sonuçları ayrıştırır. Yukarıdaki cevap benim için çalışıyor
Vaibhav Jain
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.