該文是wecenter學(xué)習(xí)筆記的一部分
分頁(yè)組件的實(shí)現(xiàn)
分頁(yè)是列表展示常見(jiàn)的需求,因而wecenter提供了一個(gè)基礎(chǔ)的分頁(yè)工具類 core_pagination
。
根據(jù)以下基本參數(shù)
- base_url
- total_rows
- per_page
生成一個(gè)分頁(yè)導(dǎo)航視圖(html)
使用
TPL::assign('pagination', AWS_APP::pagination()->initialize(array(
'base_url' => get_js_url('/admin/approval/list/type-' . $_GET['type']),
'total_rows' => $found_rows,
'per_page' => $this->per_page
))->create_links());
<span class="pull-right mod-page"><?php echo $this->pagination; ?></span>
實(shí)現(xiàn)
自定義參數(shù)
views/default/config/pagination.php
$config = array(
'first_link' => '<<',
'next_link' => '>',
'prev_link' => '<',
'last_link' => '>>',
'uri_segment' => 3,
'full_tag_open' => '<div class="page-control"><ul class="pagination pull-right">',
'full_tag_close' => '</ul></div>',
'first_tag_open' => '<li>',
'first_tag_close' => '</li>',
'last_tag_open' => '<li>',
'last_tag_close' => '</li>',
'first_url' => '', // Alternative URL for the First Page.
'cur_tag_open' => '<li class="active"><a href="javascript:;">',
'cur_tag_close' => '</a></li>',
'next_tag_open' => '<li>',
'next_tag_close' => '</li>',
'prev_tag_open' => '<li>',
'prev_tag_close' => '</li>',
'num_tag_open' => '<li>',
'num_tag_close' => '</li>',
'display_pages' => TRUE,
'anchor_class' => '',
'num_links' => 3
);
具體邏輯參照
system/core/pagination.php#create_links
基本思路
- 根據(jù)總記錄數(shù)算出總頁(yè)數(shù)
- 根據(jù)當(dāng)前頁(yè)和總頁(yè)數(shù)和配置的標(biāo)簽生成分頁(yè)html代碼
驗(yàn)證碼管理 ←o→ 表單防CSRF(Cross-site request forgery)的實(shí)現(xiàn)