web-dev-qa-db-fra.com

Obtenir la valeur du champ du terme de taxonomie?

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.

2
Dustin

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);

9
pbonnefoi