Drupal 7 tip : Theming : Render slechts een enkel veld van uw entities

Posted by: 
Dominique De Cooman

Wanneer u slechts een veld van uw entities wilt overschrijven kan dat in drupal 7. Hier in het voorbeeld hebben we een entity genaamd model wat een afbeelding veld bevat.

Om het veld te overschrijven moet u aan de field_attach_view functie specificeren welk entity type, entity en view mode u wilt gebruiken. De functie geeft een renderable array.

Nu kunt u zelfs veranderingen maken aan de array maar het wordt aangeraden dat u de setting forms gebruikt die de weergave van uw velden beheert zodat deze constant blijven. In het voorbeeld veranderen we de afbeelding cache die is ingesteld voor uw afbeelding.

Gebruik de render functie en geef het de renderable array om de html te krijgen.

<?php
$render 
field_attach_view('model'$model'full');
$render['field_headerimage_image'][$active_image]['#image_style'] = 'header_style';
$output render($render['field_headerimage_image'][$active_image]);
?>

BEWERK:
Door de field_attach_view te gebruiken zullen alle velden op uw entity overschreven worden.
Door de field_view_field functie te gebruiken kunt u specificeren welk veld u wilt overschrijven.

<?php
$field_to_render 
field_view_field('model'$model'field_headerimage_image''full');
$field_to_render[$active_image]['#image_style'] = 'header_style';
$output render($field_to_render[$active_image]);
?>

Reactie toevoegen