画像表示のエラーについて

2015年9月20日 at 20:08

画像表示のエラーについて教えて頂けると助かります。
・default.phpをコピーしてhoge.phpを作成しました。
・hoge.phpに下記記述をして、新規ページ作成時に属性の「画像/ファイル」から画像をアップロードしました。
---------------------


---------------------
・画像をアップロードしているページは問題なく画像が表示されました。
・画像をアップロードしないで作成したページは下記エラーが表示されてページが正しく表示されません。
---------------------
予期せぬエラーが発生しました。
File does not exist.
---------------------
・上記コードから画像をアップロードしないページでもエラーが表示されない方法を教えて頂けると助かります。



-------------
・使用PC:windows8
・concrete5 のバージョン:5.7.5.1
-------------

タグ:

Re: 画像表示のエラーについて

2015年9月20日 at 20:49
ソースの掲示がないので、想像だけで

1)画像/ファイル タイプの独自ページ属性ですよね?


2)コードで書くなら、以下のコード(部分抽出)で、画像の指定がなくても、期待通りに動作しています。

<?php
$jacket = $page->getAttribute('ハンドル名');
$jacket_obj = $ih->getThumbnail($jacket, 400, 300, false);

?>
<?php
if ($jacket_obj) {
?>
<img src="<?php echo $jacket_obj->src ?>" class="jacket" />
<?php
} else {
?>
<img src="<?php echo $urlh->getBlockTypeAssetsURL($bt,'noimage.png')?>" class="jacket" />
<?php
}
?>


3)ページ属性を扱うコードは、(標準のページ属性でない限り)ブロック側に
  実装した方がいいと思います。
  「テーマは、自由に変更ができるものとして実装すべき」というのが、私の理解です。
  テーマのdefault.phpに独自のページ属性についてコーディングしてしまうと、
  汎用性が損なわれるので・・・

  ただし、「汎用性は不要」なら、テーマ側のPHPに記述するのも可ですかね?

以上
 

Re: 画像表示のエラーについて

2015年9月20日 at 22:52
ご回答ありがとうございます。
アドバイス頂いた内容で進めます。