Functions:pagination

From Whirlwind eCommerce Wiki
Jump to: navigation, search
Page Template Managers

Page Template Functions

Description

pagination() returns data and content to easily 'paginate' large data lists

Syntax

$pagination = eV::pagination($totalCount,$itemsPerPage,$pageNo,$link);

Paramaters

  • $totalCount
total number of items in the entire list to be paginated
  • $itemsPerPage
number of items to display on each pagination page
  • $pageNo
the current page number
  • $link
the base url to be used for each pagination link. This will automatically be appended with "&pageNo=#" for the appropriate page number for the link selected.

Return Values

Returns an associative array containing content output and list item indexes to be used to manage pagination. Below is the returned array:

Array
(
    [links] => String
    [startIndex] => INT
    [endIndex] => INT
)

Elements from the returned array are as follows:

Element Description Example
links STRING - HTML output including previous, next and page number links. Just echo this data where you want the pagination controls to appear to the visitor <a href="index.php?pageId=10&pageNo=1">&lt; PREVIOUS</a> <a href="index.php?pageId=10&pageNo=1">1</a> 2 <a href="index.php?pageId=10&pageNo=3">3</a> <a href="index.php?pageId=10&pageNo=4">4</a> <a href="index.php?pageId=10&pageNo=3">&lt; NEXT</a>
startIndex INT - the index of the first list element that should appear in the page (hide all elements before this) 6
endIndex INT - the index of the last list element that should appear in the page (hide all elements after this) 10

Examples

Page Children Example
// pageNo variable to hold the number of the current pagination page we are in
// defaulting to page 1
if(!isset($attributes['pageNo'])) $attributes['pageNo'] = 1;
 
// lets get our children
$children = eV::pageChildrenGet($pageId,'title,link');
 
// lets paginate the children
// using 10 items per page for this example
// link set to reload this exact page
$pagination = eV::pagination(count($children),10,$attributes['pageNo'],'index.php?pageId=$pageId');
 
// output the summary of where we are
echo "<hr>Showing item(s) " . ($pagination['startIndex'] +1) . " through " . ($pagination['endIndex']+1) . " of " . count($children);
 
// output the pagination navigation links
// this echo will automatically display the "<previous 1 2 3 4 next>" links for pagination navigation
echo $pagination['links'];
 
// now lets display the qualifying items in this page
// use the startIndex and endIndex elements to hide/show the appropriate items
// using a counter to track which child we are on in the loop for comparison
$counter = 0;
foreach($children as $child){
// only display child if it's index is between startIndex and endIndex
if($counter >= $pagination['startIndex'] && $counter <= $pagination['endIndex']){
echo "<br><a href=\"" . $child['link'] . "\">" . $child['title'] . "</a>";
};
$counter++;
};
example 2

example 2 goes here

See Also