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>