2017-05-22 1 views
0

私はDrupal 7の記事のセットを持っていて、それぞれは画像のフィールドを持っています。 FTPから画像を削除したり、画像が破損したり、何らかの理由で画像が削除されたと思われる場所にない場合、サイトは代替テキストを表示して壊れているように見えます。私はDrupalにこのような場合には、 'filler'や 'default'イメージを表示するように指示したいと思います。それを行う方法はありますか?Drupal 7では、イメージが存在しない場合、出力を変更できますか?

phpに 'if file exists'ステートメントを実行しようとしましたが、書き込めません。私は、出力が表示されない場合のケースを追加しようとしましたが、それは空の出力に対してのみ機能し、出力は無効なファイルを指していません。私はDrupalでこれを行うことを可能にする私の研究では何も見つけられませんでした。

画像が提供されていない場合の対応ではありませんのでご注意ください。これは、イメージが提供されているが存在しない場合に使用します。私はサイトが正常に失敗するようにしたい。

ありがとうございます! ブレンダン

+0

このフックは、ケースであなたを助けることができる、まだあなたは、PHPファイルをチェックし、この中に存在する必要があります。 https://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_file_url_alter/7.x – Anurag

+0

https://www.drupal.org/project/filefield_pathsをご覧ください。そのオプション – Fky

答えて

1

hook_field_display_alterでは、file_existsをチェックすることができるとtemplate_preprocess_node

0

file_create_urlにイメージ変数のuri値を渡すデフォルトの画像を表示します。これにより、画像への絶対パスが得られます。

そして、画像パスのその存在を確認するために、PHPのfile_exists関数を使用します。あなたのノード記事テンプレート・ファイル内のその変数$variables[image_exists] = file_exists($image_path);

にこれを割り当てます。

if ($image_exists) { 
    // render $content['field_image'] 
} else { 
    // render some other markup 
} 
関連する問題