ボキャブラリーからすべての用語をリストする


25

servicesという分類法があり、すべての用語をリストしたいと考えています。語彙を読み込むことができます

 $vocabulary = taxonomy_vocabulary_machine_name_load('Services')

しかし、すべての条件を明らかにすることはできません。


詳細なコードを書くことができますか?
-monymirza

回答:


43

いくつかの方法がありますが、私は好むentity_load()

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

以下も使用できます。


を使用する利点を説明してくださいentity_load
niksmac

3
@NikhilMそれtaxonomy_term_load_multiple()は私が個人的にそれを好む理由よりも入力する文字が少ないです。使用taxonomy_get_tree()すると、元の階層(OPが指定しなかった)の用語が特に必要でない限り、関係するクエリに不要なレベルの複雑さが導入されます
Clive

私はそれが好きです、しかし、以下の答えは少し読みやすいと思います。
ルブレロー

@welovedesign本当に?私は6の上に2行を好むが、それは単に個人の好みだ:)ように長い間、それはあなたがまだあまりのDrupalのコーディング標準に付着している80文字の下だとして
クライヴ

Drupalのコーディング標準を順守している私の+1
niksmac

18

このコードを使用したいと思います。

$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


多言語サイトがある場合、これは期待どおりに機能しません。言語に関係なくすべての用語が必要な場合、適切な結果が得られません。「taxonomy_get_tree」は、言語に基づいて結果を解析します。上記の答えは私のために働く
ヴァイバブジャイン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.