Multiple images and Teaser

Teaser Image
Full view Images

Когато променям подразбиращия се field_image да приема няколко стойности, обикновено искам в teaser да покажа една от тях - първата. Това ще направи излишно евентуалното създаване на допълнително поле за снимка с една стойност която да е за teaser. Така ще се покажат всички снимки в останалите node view mode които са в Manage display. За целта добавих следното в node_ext модула:

/**
 * Implementation of hook_node_view_alter().
 */
function node_ext_node_view_alter(&$build) {  
  if ($build['#view_mode'] == 'teaser' && isset($build['field_image'][1])) {
    foreach ($build['field_image'] AS $k => $item) {
      if (is_numeric($k) && $k > 0) {
        unset($build['field_image'][$k]);
      }
    }
  }
}

Същия резултат се постига и с редактиране на node.tpl.php, но по малко по-друг начин.

Category: