【環境情報】
・baserCMSのバージョン:4.6.3
・レンタルサーバー名:MAMPローカル環境
・使用テーマ:製作中です。
・PHPスキル(自己評価):E
いつもお世話になっております。
アイキャッチ画像が無かった場合の代替画像【NO IMAGE】を表示させたいのですが、表示されません。
<a href="<?php echo $this->Blog->getPostLinkUrl($post) ?>" class="bs-top-post__item-eye-catch">
<?php echo $this->Blog->getEyeCatch($post, array('alt'=>'お知らせ記事', 'noimage'=>'img/noimage.jpg', 'link' => false)); ?>
</a>
noimageを表示させたい部分はブラウザを見るとタグが何も表示されない状態です。
画像があるときのアイキャッチ画像は表示されています。
テーマ内imgフォルダに「noimage.jpg」を入れているのですが、どこが間違っておりますでしょうか?
関数リファレンスを見ながら記入しました。
https://wiki.basercms.net/関数リファレンス/getEyeCatch
お手数をおかけしますが、どうぞよろしくお願いいたします。
GUSSAN
2
@popodesign
トライアル&エラーでケーススタディーをしてみたところ、以下のような出力になりました。
<?php echo $this->Blog->getEyeCatch($post, array('alt'=>'お知らせ記事', 'noimage'=>'noimage.jpg', 'link' => false)); ?>
↓
<img src="/img/noimage.jpg" alt="お知らせ記事" class="img-eye-catch"/>
<?php echo $this->Blog->getEyeCatch($post, array('alt'=>'お知らせ記事', 'noimage'=>'/noimage.jpg', 'link' => false)); ?>
↓
<img src="/noimage.jpg" alt="お知らせ記事" class="img-eye-catch"/>
<?php echo $this->Blog->getEyeCatch($post, array('alt'=>'お知らせ記事', 'noimage'=>'/img/noimage.jpg', 'link' => false)); ?>
↓
<img src="/img/noimage.jpg" alt="お知らせ記事" class="img-eye-catch"/>
<?php echo $this->Blog->getEyeCatch($post, array('alt'=>'お知らせ記事', 'noimage'=>'img/noimage.jpg', 'link' => false)); ?>
↓
<img src="/img/img/noimage.jpg" alt="お知らせ記事" class="img-eye-catch"/>
<?php echo $this->Blog->getEyeCatch($post, array('alt'=>'お知らせ記事', 'noimage'=>'common/noimage.jpg', 'link' => false)); ?>
↓
<img src="/theme/テーマ名/img/common/noimage.jpg" alt="お知らせ記事" class="img-eye-catch"/>
<?php echo $this->Blog->getEyeCatch($post, array('alt'=>'お知らせ記事', 'noimage'=>'/common/noimage.jpg', 'link' => false)); ?>
↓
<img src="/common/noimage.jpg" alt="お知らせ記事" class="img-eye-catch"/>
例えば、テーマフォルダ/img/common/noimage.jpgに画像ファイルを置けば、
<?php echo $this->Blog->getEyeCatch($post, array('alt'=>'お知らせ記事', 'noimage'=>'common/noimage.jpg', 'link' => false)); ?>
でいけそうですけどね。
「いいね!」 1
@GUSSAN 様
とてもご丁寧な参考例をありがとうございます!おかげさまで原因が分かりました。
画像パスの問題ではありませんでした。
テーマ制作チュートリアルのpost.phpをそのままコピーして内容を書き替えていたのですが、
<?php if(!empty($post['BlogPost']['eye_catch'])): ?>
<a href="・・・・・
<?php endif ?>
アイキャッチのaタグを囲っていた<?php if(!empty〜のタグを削除したところ、noimage.jpgの画像がどれも無事に表示されるようになりました。
大変助かりました。どうもありがとうございます!
「いいね!」 1
GUSSAN
4
あーなるほど、そういうオチですね
@popodesign さんがお尋ねになるような内容じゃないなぁーと思っていたので、合点がいきました、よかったです。
ちなみにソースは、ツールバーのこれ使うといいですよ。このフォーラムのエディターはマークダウンですので。
「いいね!」 1
@GUSSAN 様
どうも大変お手数をおかけしました。
全体をちゃんと読まないとダメダメですね
マークダウンはこれで使えるのですね。
エディタが全く使いこなせておらず、使い方のご説明まで重ね重ねありがとうございます!
「いいね!」 1