Listen Sie alle Begriffe aus einem Wortschatz auf


25

Ich habe eine Taxonomie namens Dienste und möchte alle Begriffe auflisten. Ich kann das Vokabular mit laden

 $vocabulary = taxonomy_vocabulary_machine_name_load('Services')

kann aber nicht alle begriffe raus sehen.


Kannst du detaillierten Code schreiben?
— Monymirza

Antworten:


43

Es gibt ein paar Möglichkeiten, aber ich bevorzuge entity_load():

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

Sie könnten auch verwenden:


Können Sie bitte die Vorteile der Verwendung erklären entity_load?
— Niksmac

3
@NikhilM Es müssen weniger Zeichen eingegeben werden, als taxonomy_term_load_multiple()ich persönlich bevorzuge. Durch taxonomy_get_tree()die Verwendung von werden die betreffenden Abfragen unnötig komplex, es sei denn, Sie benötigen speziell die Begriffe in ihrer ursprünglichen Hierarchie (die vom OP nicht angegeben wurden)
— Clive

Ich mag es, ich denke, die Antwort unten ist ein bisschen leichter zu lesen.
— LeBlaireau

@welovedesign Wirklich? Ich bevorzuge 2 Zeilen gegenüber 6, aber das ist nur eine persönliche Vorliebe :) Solange es weniger als 80 Zeichen sind, halten Sie sich auch noch an die Kodierungsstandards von Drupal
— Clive

Mein +1 für die Einhaltung der Drupal-Codierungsstandards
— Niksmac

18

Ich möchte diesen Code verwenden.

$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


Wenn Sie eine mehrsprachige Site haben, funktioniert dies nicht wie gewünscht. Wenn ich alle Begriffe unabhängig von der Sprache haben möchte, erhalten Sie keine richtigen Ergebnisse. "taxonomy_get_tree" analysiert die Ergebnisse basierend auf der Sprache. Die obige Antwort funktioniert für mich
— Vaibhav Jain
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.