it-swarm.com.de

Wie greife ich auf Felder für Taxonomiebegriffe zu?

Insbesondere versuche ich, auf ein Feld namens "Logo" innerhalb einiger Taxonomiebegriffe (Tweet- und Wikipedia-Bearbeitung) zuzugreifen, bei denen es sich um ein Bild handelt. Ich habe einen Newsfeed auf der Startseite meiner Website und für jedes Feedelement, das neben jedem Feedelement im Feed einen Begriff enthält, der auf eines dieser Bilder verweist. Was wäre der beste Weg, um das Logo-Feld aus jedem Taxonomiebegriff freizulegen oder darauf zuzugreifen?

7
nerdshark

Wenn Sie auf den Inhalt dessen zugreifen möchten, was drupal Aufrufentitäten (Datenobjekte wie Knoten, Benutzer, Taxonomien usw.)), können Sie die Verwendung des Entitätsmoduls in Betracht ziehen Es fügt einige nette Hilfsfunktionen hinzu. Was Nikit schreibt, ist nicht möglich. Sie würden so etwas tun:

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

Dann müssten Sie die Begriffe usw. laden. Stattdessen können Sie dies mit dem Entitätsmodul tun.

$images = array();

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

$images wird nun ein Array mit dem Bildfeldobjekt sein, das Informationen wie uri, fid usw. enthält.

8
googletorp

Verwenden von taxonomy_term_load und taxonomy_term_load_multiple stellt Ihnen das vollständig geladene Termobjekt einschließlich aller benutzerdefinierten Felder zur Verfügung.

Alternativ können Sie taxonomy_get_tree mit dem letzten Parameter ($load_entities) auf TRUE setzen.

5