ver4/関数リファレンス/Paginator
提供: baserCMS公式ガイド
目次
説明
ブログ記事の一覧やアーカイブなどでページネーションを出力する際の細かい調整を行います。 ブログTOPやアーカイブなどから $this->BcBaser->pagination('simple') から呼び出され、 一般的には {テーマフォルダ}/elements/paginations/***.php 内に記述します。
使い方
<?php /** * ページネーション * 呼出箇所:サイト内検索結果一覧、ブログトップ、カテゴリ別ブログ記事一覧、タグ別ブログ記事一覧、年別ブログ記事一覧、月別ブログ記事一覧、日別ブログ記事一覧 * * BcBaserHelper::pagination() で呼び出す * (例)<?php $this->BcBaser->pagination() ?> */ if (empty($this->Paginator)) { return; } if (!isset($modules)) { $modules = 8; } ?> <?php if ((int) $this->Paginator->counter(array('format' => '%pages%')) > 1): ?> <div class="pagination"> <?php echo $this->Paginator->prev('< '. __('前へ'), array('class' => 'prev'), null, array('class' => 'disabled')) ?> <?php echo $this->Html->tag('span', $this->Paginator->numbers(array('separator' => '', 'class' => 'number', 'modulus' => $modules), array('class' => 'page-numbers'))) ?> <?php echo $this->Paginator->next(__('次へ'). ' >', array('class' => 'next'), null, array('class' => 'disabled')) ?> </div> <?php endif; ?>
戻り値
用例
基本
コード
<?php if ((int) $this->Paginator->counter(array('format' => '%pages%')) > 1): ?> <div class="pagination"> <?php echo $this->Paginator->prev('< '. __('前へ'), array('class' => 'prev'), null, array('class' => 'disabled')) ?> <?php echo $this->Html->tag('span', $this->Paginator->numbers(array('separator' => '', 'class' => 'number', 'modulus' => $modules), array('class' => 'page-numbers'))) ?> <?php echo $this->Paginator->next(__('次へ'). ' >', array('class' => 'next'), null, array('class' => 'disabled')) ?> </div> <?php endif; ?>
出力
<div class="pagination"> <span class="prev"><a href="/news/index/page:3" rel="prev">< 前へ</a></span> <span><span class="number"><a href="/news/index/page:1">1</a></span> <span class="number"><a href="/news/index/page:2">2</a></span> <span class="number"><a href="/news/index/page:3">3</a></span> <span class="current number">4</span> <span class="number"><a href="/news/index/page:5">5</a></span> <span class="number"><a href="/news/index/page:6">6</a></span> <span class="number"><a href="/news/index/page:7">7</a></span> <span class="number"><a href="/news/index/page:8">8</a></span> </span> <span class="next"><a href="/news/index/page:5" rel="next">次へ ></a></span> </div>
応用
コード
<?php if ((int) $this->Paginator->counter(array('format' => '%pages%')) > 1): ?> <ul class="archive-pager pagination"> <?php echo $this->Paginator->prev( "<i class='fas fa-caret-left' aria-hidden='true'></i>", array( 'class' => 'archive-pager__item -prev', 'tag' => 'li', 'aria-label' => '前へ', 'disabledTag' => 'span', 'escape' => false, ), null, array( 'class' => 'archive-pager__item disabled', 'tag' => 'li', ) ) ?> <?php echo $this->Paginator->numbers( array( 'separator' => '', 'tag' => 'li', 'class' => 'archive-pager__item', 'currentTag' => 'span', 'currentClass' => 'current', 'modulus' => $modules ), array('class' => 'page-numbers archive-pager__item')) ?> <?php echo $this->Paginator->next( '<i class="fas fa-caret-right" aria-hidden="true"></i>', array( 'class' => 'archive-pager__item -next', 'tag' => 'li', 'aria-label' => '次へ', 'disabledTag' => 'span', 'escape' => false, ), null, array( 'class' => 'archive-pager__item disabled', 'tag' => 'li', ) ) ?> </ul> <?php endif; ?>
出力
<ul class="archive-pager pagination"> <li class="archive-pager__item -prev"><a href="/event-info/index/page:2" aria-label="前へ" rel="prev"><i class="fas fa-caret-left" aria-hidden="true"></i></a></li> <li class="archive-pager__item"><a href="/event-info/index/page:1">1</a></li> <li class="archive-pager__item"><a href="/event-info/index/page:2">2</a></li> <li class="current archive-pager__item"><span>3</span></li> <li class="archive-pager__item"><a href="/event-info/index/page:4">4</a></li> <li class="archive-pager__item"><a href="/event-info/index/page:5">5</a></li> <li class="archive-pager__item"><a href="/event-info/index/page:6">6</a></li> <li class="archive-pager__item"><a href="/event-info/index/page:7">7</a></li> <li class="archive-pager__item"><a href="/event-info/index/page:8">8</a></li> <li class="archive-pager__item"><a href="/event-info/index/page:9">9</a></li> <li class="archive-pager__item -next"><a href="/event-info/index/page:4" aria-label="次へ" rel="next"><i class="fas fa-caret-right" aria-hidden="true"></i></a></li> </ul>