zoukankan      html  css  js  c++  java
  • Kohana之分页使用

    实现了__set和__get方法,保护私有数据

    设置查询的方法及查询的KEY
    $current_page;

    例:array('source' => 'query_string', 'key' => 'page'),

    //返回当前页码

     

    总项目数
    $total_items;

    例:500

    返回数值

     

    每页显示多少个项目
    $items_per_page;

    例:60

    返回数值

     

    取得总页数
    $total_pages;

    例:echo $pag->total_pages;//9

    返回数值

     

    当前页的第一个记录的开始数
    $current_first_item;

    返回数值

     

    当前页的第一个记录的结束数
    $current_last_item;

    返回数值

     

    上一页页号;返回假说明是第一页
    $previous_page;

    返回数值

    下一页数目; 返回假说明是最后一页
    $next_page;

    返回数值

     

    第一页的数字; 如果是当前是第一页则不返回
    $first_page;

    返回数值

     

    最后一页的数字,如果是最后一页则不返回
    $last_page; .

    返回数值

     

    查询的开始项,等于相当于开始项减一
    $offset;

    例:如果当前是第二页,第一条记录为10,那么他将是9

    返回数值

     

    方法:

    使用实例来解释咯:

    <?php
    $pag=Pagination::factory();//取得一个分页
    $config=$pag->config_group("good");//取得配置
    $pag->setup($config);//设置配置
    $pag->total_items=500;//设置总页数
    echo $pag->valid_page(2);//检验分页是否在列表内,返回真假
    echo $pag->url(2);//取得第几页的链接
    echo $pag->render();//渲染分页

    呵呵,搭上配置文件配置方法:

    <?php defined('SYSPATH') or die('No direct script access.');
    
    return array(
    	'good' => array(
                       //current_page 设置链接方式
    		'current_page'   => array('source' => 'query_string', 'key' => 'page'), // 
    		'total_items'    => 0,
    		'items_per_page' => 100,
    		'view'           => 'pagination/basic',//对应的视图,下面介绍咯
    		'auto_hide'      => TRUE,
    	),
    
    );
    
     
    视图配置
    这个是这个类的关键啦.呵呵
    Kohana默认会先从application查找文件,所以,我们的视图上建立在自己的views里面的,
    保证了不用修改它框架的实现扩充自己的功能
    那我们就在views里面建立一个pagination文件夹
    并建立我们上面用到的视图basic吧
    里面的内容是拷贝的内容,你也可以拷贝pagination\views\pagination\basic.php,在自己修改咯
    附上代码:
    <p class="pagination">
    
    	<?php if ($first_page !== FALSE): ?>
    		<a href="<?php echo $page->url($first_page) ?>" rel="first"><?php echo __('First') ?></a>
    	<?php else: ?>
    		<?php echo __('First') ?>
    	<?php endif ?>
    
    	<?php if ($previous_page !== FALSE): ?>
    		<a href="<?php echo $page->url($previous_page) ?>" rel="prev"><?php echo __('Previous') ?></a>
    	<?php else: ?>
    		<?php echo __('Previous') ?>
    	<?php endif ?>
    
    	<?php for ($i = 1; $i <= $total_pages; $i++): ?>
    
    		<?php if ($i == $current_page): ?>
    			<strong><?php echo $i ?></strong>
    		<?php else: ?>
    			<a href="<?php echo $page->url($i) ?>"><?php echo $i ?></a>
    		<?php endif ?>
    
    	<?php endfor ?>
    
    	<?php if ($next_page !== FALSE): ?>
    		<a href="<?php echo $page->url($next_page) ?>" rel="next"><?php echo __('Next') ?></a>
    	<?php else: ?>
    		<?php echo __('Next') ?>
    	<?php endif ?>
    
    	<?php if ($last_page !== FALSE): ?>
    		<a href="<?php echo $page->url($last_page) ?>" rel="last"><?php echo __('Last') ?></a>
    	<?php else: ?>
    		<?php echo __('Last') ?>
    	<?php endif ?>
    
    </p><!-- .pagination -->

    里面还可以使用__(),实现I18N,呵呵.
    里面涉及的变量,函数.最最上面有提示,自己看啦~
     
  • 相关阅读:
    js json和对象互相转换
    github配置和git学习
    sea.js,spm学习
    less学习-语法(二)
    less学习-浏览器端编译(一)
    grunt-mac上安装运行构建工具的总结(一)
    Advice from an Old Programmer
    scikit-FEM-例2-用Morley元在方形区域上解板弯曲问题
    scikit-FEM-例1-求解Possion边值问题
    在shell脚本中调用sqlplus 分类: H2_ORACLE 2013-06-23 13:01 1437人阅读 评论(0) 收藏
  • 原文地址:https://www.cnblogs.com/liushannet/p/1805178.html
Copyright © 2011-2022 走看看