■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

トップページにアイキャッチ画像を表示

waka > トップページにアイキャッチ画像を表示 @ 2014/1/6 13:56
お世話になっております

トップページのブログポスト部分にアイキャッチ画像を表示したいと思っています
過去質問の「アイキャッチ画像をトップページで利用したいです」等を参考にしたのですが、上手くいきません

方法として
/theme/Blog/default/posts.php
に single.php で使用されている
<?php echo $this->Blog->eyeCatch($post) ?>

を入力してみました

single.phpのソースは
<img src="/theme/app/webroot/files/blog/default/blog_posts/2014/01/00000001_eye_catch__thumb.jpg?52274489" alt="" />

となっていて画像がちゃんと表示されるのですが

posts.phpは
<img src="/theme/files/blog/default/blog_posts/2014/01/00000001_eye_catch__thumb.jpg?996486128" alt="" />

となっており「app/webroot」が抜けていて画像が表示されません

どうしたらアイキャッチ画像が表示されるようになるのかご教示頂ければと思います
宜しくお願いいたします

+++++++++++++++++++++++++++++++++++++++
■ BaserCMSのバージョン:3.0.1
■ レンタルサーバー名:エクストリム(本番はロリポップ)
■ スマートURLの利用:OFF
■ 設置フォルダ:サブフォルダ(本番はドキュメントルート)
■ 利用しているデータベース:MySQL
■ PHPスキル(自己評価):全くわからない
goichi > Re: トップページにアイキャッチ画像を表示 @ 2014/1/6 14:57
こんにちは。
試しに自分の環境でやってみたら、出来たので、以下、確認です。(^^

/lib/Baser/Plugin/Blog/View/Blog/default/posts.php
をコピーして以下の場所に設置します。
/app/webroot/theme/テーマ名/Blog/default/posts.php

今回利用する関数、eyeCatch()は、出力までこなしてくれるので、echoを取っても動くと思います。
せっかくなので、すっきりとechoを取ってしまって、
<?php $this->Blog->eyeCatch($post) ?>

とします。
なお、私の環境では、この時にposts.phpによって出力される画像のURLは
<img src="/files/blog/news/blog_posts/2014/01/00000002_eye_catch__thumb.png?220672065" alt="" />

となっています。(URLの格好は環境で少し変わるかも知れませんね。)

eyeCatch()の記述場所は、posts.php内でループ処理が行われている中で記述します。
例えば、以下のような感じになると思います。

posts.php
<?php if ($posts): ?>
	<ul class="post-list">
		<?php foreach ($posts as $key => $post): ?>
			<?php $class = array('clearfix', 'post-' . ($key + 1)) ?>
			<?php if ($this->BcArray->first($posts, $key)): ?>
				<?php $class[] = 'first' ?>
			<?php elseif ($this->BcArray->last($posts, $key)): ?>
				<?php $class[] = 'last' ?>
			<?php endif ?>
			<li class="<?php echo implode(' ', $class) ?>">
				<span class="date"><?php $this->Blog->postDate($post, 'Y.m.d') ?></span><br />
				<span class="title"><?php $this->Blog->postTitle($post) ?></span><br />
                                <?php $this->Blog->eyeCatch($post) ?>
			</li>
		<?php endforeach; ?>
	</ul>
	<?php else: ?>
	<p class="no-data">記事がありません</p>
<?php endif ?>


いかがでしょうか?(また、デバッグモードなどにしてエラーなどが出ていないか確認しておくのも手かも知れません。)
waka > Re: トップページにアイキャッチ画像を表示 @ 2014/1/7 13:46
goichiさん

こんにちは
ご回答ありがとうございます

教えて頂いた内容でテストしてみたのですが、やはり画像が表示されませんでした。。。
デバッグモードで作業してもエラーが出てこない状態です
もうちょっと調べてみようと思います
4260 > Re: トップページにアイキャッチ画像を表示 @ 2014/1/7 22:30
リンク先のスレッドを書いたものです。
私のサイトでは app/webroot はなくても表示されていますよ。
念のために URL を記載しておきますね。
http://store.decoru.net/

記載コードは以下です。

<?php
$option = array('rel'=>"colorbox");
$option = array('width'=>"175px");
$blog->eyeCatch($post, $option);
?>


/app/webroot/themed/nada-icons/blog/default/posts.php に posts.php をコピーして利用しています。
何かヒントになればいいのですが・・・

当てずっぽうですが、私は2系でバージョンが大きく違うのと、スマートURLの設定が違うので、そのどちらかのせいかもしれませんね。

■ BaserCMSのバージョン:3.0.6.1
■ レンタルサーバー名:
■ スマートURLの利用: ON
■ 設置フォルダ: ドキュメントルート
■ 利用しているデータベース: PostgreSQL
■ PHPスキル: D

waka > Re: トップページにアイキャッチ画像を表示 @ 2014/1/16 16:57
4260さん

こんにちは 書き込みありがとうございます
書かれていたように、スマートURLの設定が原因のようです

アイキャッチ画像をトップに表示する場合
タグは以下でOKでした
<?php $this->Blog->eyeCatch($post) ?>

スマートURLオン:表示
スマートURLオフ:非表示
になるようです
ryuring > Re: トップページにアイキャッチ画像を表示 @ 2014/3/23 14:49
こんにちは。

スマートURLがオフの場合に画像が表示されない問題ですが、
修正パッチを作成しました。

http://project.e-catchup.jp/issues/5475

近々リリースされる v3.0.2 より反映されます。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
32 人のユーザが現在オンラインです。 (29 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 32