h19e_logo.png

プログラミングメモと、子供とのお出かけ記録
<< FuelPHP Configの使い方 基本編 | main | 新型 アウトランダーPHEVを購入しました >>
スポンサーサイト

一定期間更新がないため広告を表示しています

| - | | - | - | pookmark |
FuelPHP1.7 Bootstrap3 Twig pagination
FuelPHP1.7で、parserがTwigでCSSフレームワークがBootstrap3の際のpaginationの使い方


Controller内の記述

$this->_view_dir = テンプレートのディレクトリ
$this->_param = テンプレートに渡す値

//Model_Crudを継承したUserクラス
$total = User::count(); //件数を取得しておく Model_Crud使用

//ページネーションクラスの生成
$pagination = Pagination::forge('pagination',array(
    'pagination_url' => '/users/list/?',     //対象のページURLが /users/list/の場合
    'total_items' => $total
    )
);

//情報取得 
$user_list = User::find(array(
    'limit' => $pagination->per_page,
    'offset' => $pagination->offset
));

$this->_param['total'] = $total;
$this->_param['user_list'] = $user_list;
$this->_param['pager_link'] = $pagination->render();

return Response::forge(View::forge($this->_view_dir . '/list.html',$this->_param));

---------


テンプレートの記述

{{ pager_link|raw }}

でページネーションが表示されます。

Twigの設定に関しては、こちらを参考にしてください。


設定ファイルの記述

//ページネーション用の設定ファイルを準備します。
fuel/app/config/pagination.php

return array(
    'active' => 'bootstrap3',
    'bootstrap3' => array(
        'uri_segment' => 'page', //システム全体で共通のページネーション用パラメーターを指定
        'per_page' => 20,  //システム全体で共通のLIMIT数を設定
    ),
);

あえてpagination用に設定ファイルを準備したくない場合や、そのページだけ設定を変えたい場合は、
Controllerに直接記述します。

$pagination = Pagination::forge('pagination',array(
    'pagination_url' => '/users/list/?',     //対象のページURLが /users/list/の場合
    'total_items' => $total,
    'uri_segment' => 'page',
    'per_page' => 20
    'name' => 'bootstrap3'
    )
);

基本的にはシステム全体である程度共通にした方が良いかと思うので、設定ファイルを準備するのがオススメです。





 
| プログラミングメモ | 14:35 | comments(0) | trackbacks(0) | pookmark |
スポンサーサイト
| - | 14:35 | - | - | pookmark |

コメント
コメントする









この記事のトラックバックURL
http://h19e.jugem.jp/trackback/102
トラックバック