ページリストでの画像サムネイルsmall表示

2016年9月25日 at 5:16

お世話になっています
バージョン5.7.5.8になります

ページリストのサムネイルをsmall限定で表示させようと
こちらのconcrete5-japan内、以下のページを参考にしまして
http://concrete5-japan.org/help/5-7/recipes/how-to-get-thumbnail-image/

ページリストブロックのテンプレートでのサムネイルの箇所に以下を書き換えた所

<?php foreach ($pages as $page):
// ページタイトルの取得
$title = $th->entities($page->getCollectionName());
// "thumbnail" というハンドルの属性の値を取得する
$f = $page->getAttribute('thumbnail');
// 属性に値がセットされているかどうか
if ($f) {
// "small" サイズの画像サムネイルを取得
$src = $f->getThumbnailURL('small');
// alt属性にページ名を指定して表示
echo \HtmlObject\Image::create($src)->alt($title);
}
?>
<?php endforeach; ?>


1ページにつき、ページリスト内のサムネイルが全て表示されている状態になりました。
ページリスト内項目が5ページあれば、5ページ×5で25のサムネイル画像が表示されている状態です。

又、以下も試してみた所、最後にアップされたサムネイルのsmallが
各リストに1枚づつ表示という結果になりました
(最後に追加したページ以外は違うサムネイルが表示されている状態)

$src = $f->getThumbnailURL('small');
echo \HtmlObject\Image::create($src)->alt('smallサイズサムネイル');

お知恵をお貸しいただけたら幸いです
宜しくお願い致します。

タグ:

Re: ページリストでの画像サムネイルsmall表示

2016年9月25日 at 20:34
全体としての書き方に誤りがあるのではなかろうかと思います。
全体を貼り付けると長くなるので下記サービスを使っていただくと良いと思います
http://pastebin.com/
http://gist.github.com/
 

Re: ページリストでの画像サムネイルsmall表示

2016年9月26日 at 21:58
こんにちは
返信ありがとうございます
既存のページリストのテンプレートthumbnail_gridに
http://concrete5-japan.org/help/5-7/recipes/how-to-get-thumbnail-image/
こちらの『コード例2』を貼付けただけのものをUPしておきました
(サムネイルが複数表示されている状態です)
おかしな所がありましたらご指摘いただけたら幸いです
宜しくお願いいたします
http://pastebin.com/X5RQbFgM
 

Re: ページリストでの画像サムネイルsmall表示

2016年10月17日 at 15:00
foreach ($pages as $page): と endforeach; の間が繰り返されて表示されるのがページリストになります。コードを見たところ、foreachが入れ子になってしまっているので、それが原因です。入れ子にならないようにしましょう。
 

Re: ページリストでの画像サムネイルsmall表示

2016年10月19日 at 23:13
入れ子になっていたのですね
助言感謝致します
お忙しい中本当にありがとうございます。