FuelPHP1.5でPaginationにTwitter bootstrap 2.xのpaginationの形式でタグを出力する。

FuelPHP1.5でPaginationクラスを使って、ページめくりを出力すると、デフォルトでは、

<div class="pagination">
  <span class="previous">
      <a href="/search/page/4/page">&laquo;</a>
    </span>
    <span>
      <a href="/search/page/1/page">1</a>
    </span>
    <span>
      <a href="/search/page/2/page">2</a>
    </span>
    <span>
      <a href="/search/page/3/page">3</a>
    </span>
    <span>
      <a href="/search/page/4/page">4</a>
    </span>
    <span class="active">
      <a href="#">5</a>
    </span>
    <span>
      <a href="/search/page/6/page">6</a>
    </span>
    <span>
      <a href="/search/page/7/page">7</a>
    </span>
    <span class="next">
      <a href="/search/page/6/page">&raquo;</a>
    </span>
  
</div>

のように出力される。できれば、

Twitter bootstrap pagenation

boot strap pagenation

のようなタグが出ないのかと調べていたら、

FuelPHP1.5では簡単に出せるみたい。

・fuel\app\config\pagination.php を作る。

・pagination.phpの内容はこれだけ。

<?php
return array(
&#039;active&#039;=> &#039;bootstrap&#039;,
);

・出力はこうなる。bootstrap ぽい。

<div class="pagination">
  <ul>
    <li>
      <a href="/search/page/4/page">&laquo;</a>
    </li>
        
    
    <li>
      <a href="/search/page/1/page">1</a>
    </li>
        
    
    <li>
      <a href="/search/page/2/page">2</a>
    </li>
        
    
    <li>
      <a href="/search/page/3/page">3</a>
    </li>
        
    
    <li>
      <a href="/search/page/4/page">4</a>
    </li>
        
    
    <li class="active">
      <a href="#">5</a>
    </li>
        
    
    <li>
      <a href="/search/page/6/page">6</a>
    </li>
        
    
    <li>
      <a href="/search/page/7/page">7</a>
    </li>
        
    
    <li>
      <a href="/search/page/6/page">&raquo;</a>
    </li>
      
  </ul>
  
</div>

・仕組み的には、fuel\core\config\pagination.php には、bootstarp2.x用と、spanで出力されるdefaultのものがあり、デフォルトでは’active’ => ’default’となっている。

activeをbootstrapに変更しただけ。

・Pagination::forge の 第2引数のconfigに ’name’ =>‘bootstrap’を指定してもいいみたい。

$pagination = Pagination::forge('mypagination', array(
    'pagination_url' => 'http://docs.fuelphp.com/',
    'uri_segment' => 2,
    'total_items' => 10,
    'per_page' => 20,
   'name'      => 'bootstrap'  ココ
));

このアップデートでこの方式になったみたい。FuelPHP1.4くらいからかな?


https://github.com/fuel/core/commit/ae68a19419aea654adc921da8c8a673c57502098#config/pagination.php

現時点でドキュメントにはイマイチ載っていないので、今後どうなるかは不明です。

関連記事