Exemple #1
0
 function listing($locator)
 {
     $usersession = $locator->get('UserSession');
     $db = $locator->get('Db');
     $template = $this->_load('controller')->template('listing');
     // create a data object that has the interface needed by the Pager object
     $datasource = new A_Pagination_Adapter_Db($db, "SELECT * FROM `blog_posts` WHERE post_type='post'");
     // create a request processor to set pager from GET parameters
     $pager = new A_Pagination_Request($datasource);
     // initialize using values from $_GET
     $pager->process($locator->get('Request'));
     // create a "standard" view object to create pagination links
     $view = new A_Pagination_View_Standard($pager);
     $rows = $pager->getItems();
     $template->set('rows', $rows);
     $template->set('links', $view->render());
     // display the pagination links
     $this->response->set('maincontent', $template->render());
 }
</div>

<h3>Always Show First & Last</h3>
<pre>$view = new A_Pagination_View_Standard($pager);
$view->alwaysShowFirstLast();</pre>
<div><?php 
echo $view2->render();
?>
</div>

<h3>Always Show Previous & Next</h3>
<pre>$view = new A_Pagination_View_Standard($pager);
$view->alwaysShowPreviousNext();</pre>
<div><?php 
echo $view3->render();
?>
</div>

<h3>Show All + Don't Cache Number Of Items </h3>
<pre>$view = new A_Pagination_View_Standard($pager, false, true);
$view->alwaysShowFirstLast();
$view->alwaysShowPreviousNext();</pre>
<div><?php 
echo $view4->render();
?>
</div>

<p><a href="../">Return to Examples</a></p>

</body>
</html>
include 'config.php';
include dirname(__FILE__) . '/../../A/autoload.php';
// create a data object that has the interface needed by the Pager object
$datasource = new A_Pagination_Adapter_File('constitution.txt');
// create a request processor to set pager from GET parameters
$pager = new A_Pagination_Request($datasource);
// set core values based on request
$pager->process();
// create a new standard view
$view = new A_Pagination_View_Standard($pager);
// retrieve items on current page
$rows = $pager->getItems();
// Set up view internally. For first/last, label is optional. If no label is passed, the number will be displayed.
$view->first('First')->previous('Previous')->range()->next('Next')->last('Last');
// display the data
echo "<div>{$view->render()}</div>";
echo '<table border="1">';
$n = 1;
foreach ($rows as $value) {
    echo '<tr>';
    echo '<td>' . $n++ . '.</td><td>' . $value['line'] . '</td>';
    echo '</tr>';
}
echo '</table>';
echo "<div>{$view->render()}</div>";
?>
<p/>
<a href="./">Return to Examples</a>
</p>

</body>