記事ブロックのリスト化

2012年5月17日 at 11:55

ページタイトル
日付 : テキスト リンク テキスト 「PDF」
日付 : テキスト リンク テキスト 「PDF」
日付 : テキスト リンク テキスト 「PDF」
日付 : テキスト リンク テキスト 「PDF」
------
1 2 3 4…
というような記事リストを複数ページに表示

ページタイトル
イメージ画像 テキスト
テキスト
テキスト
------
ページタイトル
イメージ画像 テキスト
テキスト
テキスト
------
1 2 3 4…
(記事用の個別ページとレイアウトが若干ことなる)

のようなページを同じサイトに作成しないといけないのですが
concrete5で実現させる場合は、別途開発が必要でしょうか?

タグ:

Re: 記事ブロックのリスト化

2012年5月17日 at 14:01
ページリストブロックで実装する場合、ページリストブロックのカスタムテンプレートを使って実装するのがスムーズだと思います。

ブロック修正の仕方と カスタムテンプレート の仕組み

ページリストでは通常タイトルと概要文が並ぶわけですが、それ以外の情報を表示することもできます。

日付の表示は Page::getCollectionDatePublic()
属性の表示は Page::getAttribute()

あるいは、対象ページの特定のエリアを抜き出して表示するなら
<?php
$a = new Area('Main'); //change 'Main' to the name of the area you want to display
$a->disableControls();
$a->display($page);
?>

サンプルコードは、同梱されているページリストブロックのデフォルトのview.phpに書いてあります。concrete/blocks/view.php のソース中のコメントで「Other useful page data...」とか「CUSTOM ATTRIBUTE EXAMPLES:」のあたりです。

さらに詳しいサンプルはjordanlevがGithubにアップしている "c5 clean block templates" の中にもあります。
http://github.com/jordanlev/c5_clean_block_templates/blob/master/page_list/view.php
 

Re: 記事ブロックのリスト化

2012年5月17日 at 14:06
詳しいご説明ありがとうございます!早速試してみます!