Astuce Drupal 7: Thèmes : Récupérer un seul attribut d'une entité
Si vous souhaitez récupérer un seul champ de vos entités, ceci est possible dans Drupal 7. Dans l'exemple ci-dessous, nous avons une entité appelée "modèle" qui contient un champ d'image.
Pour récupérer le champ, vous devez spécifier à la fonction field_attach_view le type de l'entité, l'entité et le mode d'affichage que vous voulez utiliser. La fonction rend un tableau "renderable array".
Maintenant, vous pouvez même faire des ajustements sur le tableau, mais il est conseillé d'utiliser les formulaires de paramètres qui gèrent l'affichage de vos champs afin de rester cohérent. Dans l'exemple, on change le cache d'image prédéfini pour notre image.
Utilisez la fonction de render et lui passer le tableau en paramètre pour obtenir le code HTML.
<?php
$render = field_attach_view('modèle', $model, 'full');
$render['field_headerimage_image'][$active_image]['#image_style'] = 'header_style';
$output = render($render['field_headerimage_image'][$active_image]);
?>Editer:
Utilisation de la fonction field_attach_view rend tous les champs de votre entité. Cependant, l'utilisation de la fonction field_view_field vous permet de spécifier quels champs vous souhaitez récupérer.
<?php
$field_to_render = field_view_field('modèle', $model, 'field_headerimage_image', 'full');
$field_to_render[$active_image]['#image_style'] = 'header_style';
$output = render($field_to_render[$active_image]);
?>

