画像フィールドをレンダリングする方法


7

Drupal 7画像フィールドをレンダリングし、フィールドが空の場合にデフォルト画像を表示する正しい方法は何ですか?

私が使用field_get_itemsするFALSE場合、フィールドが空のときに単に戻ります。

回答:


15

ベストプラクティスはおそらく以下を使用することだと思いますfield_view_field()

$view = field_view_field('node', $node, 'field_image');
print render($view);

これにより、エンティティビューにアタッチされているかのようにフィールドがレンダリングされ、何も使用できない場合はデフォルトの画像が提供されます。


2
文書化されているように、既存のビューモードの表示設定を使用するか、4番目の引数として独自の設定を指定できます。また、フィールド値とそのラベルおよびラッパーマークアップのみが必要な場合は、field_view_value()を使用します。
Pierre Buyle

10

次のような画像スタイル(D6の画像キャッシュプリセット)も使用できます。

render(field_view_field('user', $user, 'field_avatar', array('settings' => array('image_style' => 'avatar'))));

render()参照として渡される変数が必要であり、参照をfield_view_field()返さないため、そのコードはエラーを発生させます。参照してくださいクライヴの回答方法を確認するためにrender()呼び出されなければなりませんが。
kiamlaluno
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.