Exemplo n.º 1
0
include 'A/Pager/Request/Session.php';
include 'A/Pager/HTMLWriter.php';
// check if other example has included this file and created a datasource
if (!isset($datasource)) {
    include 'A/Pager/Array.php';
    // initialize an array for testing
    $first = 0;
    $last = 75;
    for ($i = $first; $i <= $last; ++$i) {
        $myarray[$i]['id'] = $i;
        $myarray[$i]['text'] = 'This is row ' . $i;
        $myarray[$i]['sort'] = $last - $i;
    }
    #$myarray = null;
    // create a data object that has the interface needed by the Pager object
    $datasource = new A_Pager_Array($myarray);
    $datasource->orderBy('text');
}
// create pager using values from datasource and request params
$pager = new A_Pager($datasource);
$pager->setPageSize(25);
// change from default of 10 of you want
$pager->setOrderByFields(array('id', 'text', 'sort'), 'text');
// allowed orderby fields and starting sort
// create a request processor to set pager from GET parameters
#$request = new PagerRequest($pager);
$request = new A_Pager_Request_Session($pager);
$request->process();
if ($pager->hasPages()) {
    // create a HTML writer to output
    $writer = new A_Pager_HTMLWriter($pager);
$collection->add('sixteen', 'diez y seis');
$collection->add('seventeen', 'diez y siete');
$collection->add('eighteen', 'diez y ocho');
$collection->add('ninetten', 'diez y nueve');
$collection->add('twenty', 'viente');
$collection->add('twenty one', 'viente uno');
$collection->add('twenty two', 'viente dos');
$collection->add('twenty three', 'viente tres');
$collection->add('twenty four', 'viente cuatro');
$collection->add('twenty five', 'viente cinco');
$collection->add('twenty six', 'viente seis');
$collection->add('twenty seven', 'viente siete');
$collection->add('twenty eight', 'viente ocho');
$collection->add('twenty nine', 'viente nueve');
$collection->add('thirty', 'treinte');
$datasource = new A_Pager_Array($collection->toArray());
// temporary hack until pager supports Collections
$pager = new A_Pager($datasource);
$pager->setPageSize(3);
// create a request processor to set pager from GET parameters
$request = new A_Pager_Request($pager);
$request->process();
$template = new A_Template_Include('templates/standard_pagination.tpl');
// create a HTML writer to output
#$helper = new A_Pager_HTMLWriter($pager);
// get rows of data
$start_row = $pager->getStartRow();
$end_row = $pager->getEndRow();
$rows = $datasource->getRows($start_row, $end_row);
$helper = new PagerHelper($pager, $template, 2);
?>