通常はコンテンツタイプの表示の管理で設定した、画像スタイルをもとに「node.tpl.php」テンプレート内で画像を表示します。

1
2
3
4
5
//すべての画像
<?php print render($content['field_image']); ?>
 
//1番目の画像
<?php print render($content['field_image'][0]); ?>

この場合では複数毎の画像があったときでも、同じ画像スタイルで表示されます。

もし1番目の画像、2番目の画像で画像スタイルを変えたい場合には、次のような方法で実現できます。

1
2
3
4
5
//1番目の画像
<?php print theme('image_style', array('path' => $node->field_image['und'][0]['uri'], 'style_name' => 'large')); ?>
 
//2番目の画像
<?php print theme('image_style', array('path' => $node->field_image['und'][1]['uri'], 'style_name' => 'medium')); ?>

1番目の画像($node->field_image[‘und’][0])に対しては、画像スタイル「large」、2番目の画像には「medium」を、それぞれ指定しています。

たたし、この方法ではrender()関数と違い、画像が無い場合にエラーを出してしまうので、次のように画像の有無をチェックした方が安全です。

1
2
3
4
5
<?php
if (isset($node->field_image['und'][0])) {
	print theme('image_style', array('path' => $node->field_image['und'][0]['uri'], 'style_name' => 'large'));
}
?>