J'ai des termes de taxonomie qui contiennent un champ d'image. J'essaie d'obtenir la valeur du champ d'image dans mes modèles. Comment puis-je faire ceci? Le nom du champ est field_header_image
.
Je l'ai jusqu'ici mais ça ne marche pas ..
$headerimg = field_view_field('taxonomy_term', $term, 'field_header_image');
print render($headerimg);
Je suppose que j'ai besoin d'autre chose pour taxonomy_term
mais je ne sais pas ce que cela devrait être.
Vous pouvez l'obtenir comme ceci:
$term = taxonomy_term_load($tid);
$field_header_image = field_get_items('taxonomy_term', $term, 'field_header_image');
if ($field_header_image) {
$headerimg = field_view_value('taxonomy_term', $term, 'field_header_image', $field_header_image[0], array('type' => 'image'));
}
print render($headerimg);
Si vous souhaitez utiliser un style_image:
$headerimg = field_view_value('taxonomy_term', $term, 'field_header_image', $field_header_image[0], array(
'type' => 'image',
'settings' => array(
'image_style' => 'my_image_style', //place your image style here
),
));
Voici une réponse contextuelle si vous êtes sur votre page de termes de taxonomie.
Dans votre fichier template.php
Utilisez la fonction theme_preprocess_page
Comme ceci:
function mytheme_preprocess_page(&$vars) {
$term = menu_get_object('taxonomy_term', 2);
if ($term) {
$field_header_image = field_get_items('taxonomy_term', $term, 'field_header_image');
if ($field_header_image) {
$vars['headerimg'] = field_view_value('taxonomy_term', $term, 'field_header_image', $field_header_image[0], array('type' => 'image'));
}
}
}
Alors en vous page.tpl.php
Vous pouvez print render($headerimg);