print_page_numbers
- Purpose: Output page number links to content instead of just 'next' and 'previous' links
- Usage: {print_page_numbers start=$params.start count=$params.count total=$carma_content_count}
- Required: total
- Version: 1.4 or greater
- Default Templates Used: page_numbers
- Variables created: $first_page, $last_page, $current_page, $total_pages, $page_params
Parameters
(Required parameters in bold)
Parameter
|
Description
|
Possible Values
|
Default Value
|
Example
|
count
|
How many of the content do we display per page
|
Zero or any whole number greater than zero
|
12
|
count=$params.count
|
start
|
What number did the content start displaying at
|
Any whole number greater than zero
|
0
|
start=$params.start
|
total
|
The total amount of content found
|
Any whole number greater than zero
|
None. (Doesn't hide any results)
|
total=$carma_content_count
|
tpl
|
Template to use for showing the output
|
Any whole number greater than zero
|
None. (Doesn't hide any results)
|
start=10
|
show_pages
|
The amount of page numbers to display to the users
|
Any whole number greater than zero
|
9.
|
show_pages=9
|
current_page
|
The current page that is being shown
|
Any whole number greater than zero
|
Will be calculated on the fly
|
current_page=5
|
total_pages
|
Total amount of pages that exist
|
Any whole number greater than zero
|
Will be calculated on the fly
|
total_pages=65
|
Description
The function will output a list of page numbers on your website so users can more easily navigate through the content you provide.
Example Template
<div class='video_pages'>
<div class='video_pages-big'>PAGE {$params.current_page} OF {$params.total_pages}</div>
{if $params.current_page > 1 }
<div class='video_pages-big'><a href='{rebuild_link using="GET" without="start,count"}&start=0&count={$params.count}'><< FIRST</a></div>
<div class='video_pages-big'><a href='{rebuild_link using="GET" without="start,count"}&start={math equation="x-y" x=$params.start y=$params.count}&count={$params.count}'>< PREVIOUS</a></div>
{else}
<div class='video_pages-big'><< FIRST</div>
<div class='video_pages-big'>< PREVIOUS</div>
{/if}
{foreach from=$page_numbers item=page_info}
{if $params.current_page == $page_info.page}
<div class='video_pages-active'>{$page_info.page}</div>
{else}
<div class='video_pages-small'><a href='{rebuild_link using="GET" without="start,count"}&start={$page_info.start}&count={$params.count}'>{$page_info.page}</a></div>
{/if}
{/foreach}
{if $params.current_page < $params.total_pages }
<div class='video_pages-big'><a href='{rebuild_link using="GET" without="start,count"}&start={math equation="x+y+1" x=$params.start y=$params.count}&count={$params.count}'>NEXT ></a></div>
<div class='video_pages-big'><a href='{rebuild_link using="GET" without="start,count"}&start={math equation="(x-1)*y" x=$params.total_pages y=$params.count}&count={$params.count}'>LAST >></a></div>
{else}
<div class='video_pages-big'>NEXT ></div>
<div class='video_pages-big'>LAST >></div>
{/if}
</div>
Example Function Call
{print_page_numbers start=$params.start count=$params.count total=$carma_content_count}