分類用語のフィールドにアクセスするにはどうすればよいですか?


7

具体的には、画像である2つの分類用語(TweetとWikipediaによる編集)内の「ロゴ」というフィールドにアクセスしようとしています。サイトのフロントページにニュースフィードがあり、フィード内の各フィードアイテムの横に、これらの画像の1つへの用語参照があるニュースフィードがあります。各分類用語からロゴフィールドを公開またはアクセスするには、どの方法が最適ですか?

回答:


8

drupalがエンティティを呼び出す内容(ノード、ユーザー、分類法などのデータオブジェクト)にアクセスする場合は、エンティティモジュールを使用することを検討してください。それはいくつかの素晴らしいヘルパー関数を追加します。ニキットが書くことは不可能です、あなたはこのようなことをするでしょう:

$term_id_1 = $node->field_term['und'][0]['tid'];
$term_id_2 = $node->field_term['und'][1]['tid'];

次に、用語などをロードする必要があります。代わりに、エンティティモジュールを使用して実行できます。

$images = array();

$node_wrapper = entity_metadata_wrapper('node', $node);
foreach ($node_wrapper->field_term as $term_wrapper) {
  $images[] = $term_wrapper->field_image->value();
}

$images これで、uri、fidなどの情報を保持する画像フィールドオブジェクトの配列になります。


5

使用するtaxonomy_term_loadと、taxonomy_term_load_multiple任意のカスタムフィールドを含む、完全にロードされた用語のオブジェクトを提供します。

または、taxonomy_get_tree最後のパラメーター($load_entities)をに設定して使用しますTRUE


1
taxonomy_get_treeの最後のパラメーターについて言及した@Joshua_Stewardsonに感謝します。命の恩人。
Duncanmoo 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.