個人用ツール

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">&lt; 前へ</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">次へ &gt;</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>

変更履歴

ソースファイル

関連資料

類似の関数