なるほど。ブロックの設定としては全てのページが表示されるようにしておいて、shuffleしたあと先頭の2件だけを表示するようなテンプレートにすれば良いと思います。
具体的には
↓この行を
for ($i = 0; $i < count($cArray); $i++ ) {
↓
こう変更
for ($i = 0; $i < 2; $i++ ) {
Re: ページリストブロックのランダム表示
2010年11月10日 at 11:02
可能です。逆アルファベット順の選択肢を追加するよりは、カスタムテンプレートで対応するのが早いと思います。
ブロック修正の仕方とカスタムテンプレートのしくみ
http://concrete5-japan.org/help/design/block_custom_template/
こちらのページを参考にしてください。
具体的には、以下のファイルをダウンロードして、
/concrete/blocks/page_list/view.php
こちらにアップします。
/blocks/page_list/templates/custom.php
↓この行の直後くらいに
if (count($cArray) > 0) { ?>
↓この行を記述します。
<?php shuffle($cArray); ?>
あとは、編集モードでページリストを追加し、カスタムテンプレートで「Custom」を選択すればランダム表示できます。
試してみてください。
Your post has been saved and will be published after approval by the forum moderator.
tomoya
Re: Re: ページリストブロックのランダム表示
この方法を試してみたのですが、
全部で4ページある階層の中から、2ページを表示させた場合、
1番と2番のページの順番がランダムで表示されるだけで、
3番と4番のページが表示されませんでした。
希望としては、
指定した階層のページ(ページ数は変動)から
任意のページ数をランダムで表示できればと思っています。
例えば、8ページある階層から2ページを表示させたい場合、
1番と4番とか、8番と2番とか…