Plus précisément, j'essaie d'accéder à un champ appelé "logo" à l'intérieur de quelques termes de taxonomie (Tweet et Wikipedia), qui est une image. J'ai un fil d'actualité sur la première page de mon site, et pour chaque élément de fil qui a une référence de terme à l'une de ces images à côté de chaque élément de fil dans le fil. Quelle serait la meilleure façon d'exposer ou d'accéder au champ du logo à partir de chaque terme de taxonomie?
Si vous allez accéder au contenu de ce que drupal appelez les entités (objets de données, comme les nœuds, les utilisateurs, les taxonomies, etc.), vous pourriez envisager d'utiliser le module d'entité . Il ajoute quelques fonctions d'assistance Nice. Ce que Nikit écrit n'est pas possible, vous feriez quelque chose comme ceci:
$term_id_1 = $node->field_term['und'][0]['tid'];
$term_id_2 = $node->field_term['und'][1]['tid'];
Ensuite, vous devrez charger les termes, etc. À la place, avec le module d'entité, vous pouvez le faire.
$images = array();
$node_wrapper = entity_metadata_wrapper('node', $node);
foreach ($node_wrapper->field_term as $term_wrapper) {
$images[] = $term_wrapper->field_image->value();
}
$images
sera désormais un tableau avec l'objet champ image qui contient des informations comme uri, fid etc.
En utilisant taxonomy_term_load
et taxonomy_term_load_multiple
vous fournira l'objet terme entièrement chargé, y compris tous les champs personnalisés.
Vous pouvez également utiliser taxonomy_get_tree
avec le paramètre final ($load_entities
) défini sur TRUE
.