Revision: 30724
Updated Code
at August 25, 2010 02:04 by hiddentao
Updated Code
/**
* Return themed pager using same markup and CSS classes as the standard Drupal pager.
*
* @param $total_pages total no. of pages.
* @param $current_page the current page being viewed (1 <= $current_page <= $total_pages).
* @param $num_pages_to_show no. of pages links for, excluding first, next, previous and last links .
* @param $base_url the base URL for paging links. Each paging link will be at $base_url?page=<page_num>
* @return themed paging links; empty string if there is only one page in total.
*/
function garland_simple_pager_links($total_pages, $current_page, $num_pages_to_show, $base_url) {
static $buttons;
if (empty($buttons)) {
$buttons = array(
'first' => array('text' => t('« first'), 'link_tooltip' => t('Go to first page')),
'prev' => array('text' => t('‹ previous'), 'link_tooltip' => t('Go to previous page')),
'next' => array('text' => t('next ›'), 'link_tooltip' => t('Go to next page')),
'last' => array('text' => t('last »'), 'link_tooltip' => t('Go to last page')),
'current' => array('class' => 'current'),
'ellipsis' => array('text' => '...'),
);
}
// show nothing if only one page
if (1 >= $total_pages)
return '';
// remove all query params from the base URL
$base_url = ltrim($base_url,'/');
// the first page in current set of pages
$pager_first = $current_page - intval($num_pages_to_show / 2);
// the last page in current set of pages
$pager_last = $current_page + intval($num_pages_to_show / 2);
// normalize
if (1 > $pager_first) {
$pager_last += (1 - $pager_first);
$pager_first = 1;
}
if ($total_pages < $pager_last) {
$pager_first -= ($pager_last - $total_pages);
if (1 > $pager_first)
$pager_first = 1;
$pager_last = $total_pages;
}
$items = array();
// show 'prev' button
if (1 < $current_page) {
// show 'first' button
if (1 < $pager_first) {
$items[] = array(
'class' => 'pager-first',
'data' => theme('simple-pager-link', $base_url, 1, $buttons['first']),
);
}
$items[] = array(
'class' => 'pager-previous',
'data' => theme('simple-pager-link', $base_url, $current_page-1, $buttons['prev']),
);
// show ellipsis
if (1 < $pager_first) {
$items[] = array(
'class' => 'pager-ellipsis',
'data' => theme('simple-pager-link', $base_url, '...', $buttons['ellipsis']),
);
}
}
// page links
for ($i=$pager_first; $i<=$pager_last; ++$i) {
if ($i == $current_page) {
$items[] = array(
'class' => 'pager-current',
'data' => theme('simple-pager-link', $base_url, $i, $buttons['current']),
);
} else {
$items[] = array(
'class' => 'pager-item',
'data' => theme('simple-pager-link', $base_url, $i, array('text' => $i, 'link_tooltip' => t('Goto page @d',array('@d' => $i)))),
);
}
}
// show 'next' button
if ($total_pages > $current_page) {
// show ellipsis
if ($total_pages > $pager_last) {
$items[] = array(
'class' => 'pager-ellipsis',
'data' => theme('simple-pager-link', $base_url, '...', $buttons['ellipsis']),
);
}
$items[] = array(
'class' => 'pager-next',
'data' => theme('simple-pager-link', $base_url, $current_page+1, $buttons['next']),
);
// show 'last' button
if ($total_pages > $pager_last) {
$items[] = array(
'class' => 'pager-last',
'data' => theme('simple-pager-link', $base_url, $total_pages, $buttons['last']),
);
}
}
return theme('item_list', $items, NULL, 'ul', array('class' => 'pager'));
}
/**
* Return a themed pager link.
*
* @param $base_url the base URL to add the paging query param to.
* @param $page the number of the page to link to.
* @param $button_attributes array('link_tooltip' =>, 'text' => 'class' =>).
* If 'link_tooltip' is ommitted then the text is returned witout a wrapping anchor. If 'text' is ommitted then
* $page is used as the link text.
*
* @return themed pager link.
* @see garland_pager_link()
*/
function garland_simple_pager_link($base_url, $page, $button_attributes) {
$text = isset($button_attributes['text']) ? $button_attributes['text'] : $page;
$attributes = array(
'title' => (isset($button_attributes['link_tooltip']) ? $button_attributes['link_tooltip'] : ''),
);
if (isset($button_attributes['class']))
$attributes['class'] = $button_attributes['class'];
if (isset($button_attributes['link_tooltip'])) {
return '<a href="'. check_url(url($base_url, array('query' => array('page' => $page)))) .'"'. drupal_attributes($attributes) .'>'. $text .'</a>';
} else {
return $text;
}
}
// Amend you theme's theme() method accordingly, as I've done below for Garland:
function garland_theme($existing, $type, $theme, $path) {
return array(
'simple-pager-links' => array(
'arguments' => array(NULL, NULL, NULL, NULL),
'function' => 'garland_simple_pager_links',
),
'simple-pager-link' => array(
'arguments' => array(NULL, NULL, NULL),
'function' => 'garland_simple_pager_link',
)
);
}
Revision: 30723
Updated Code
at August 25, 2010 00:59 by hiddentao
Updated Code
/**
* Return themed pager using same markup and CSS classes as the standard Drupal pager.
*
* @param $total_pages total no. of pages.
* @param $current_page the current page being viewed (1 <= $current_page <= $total_pages).
* @param $num_page_links_either_side no. of pages links to show either side of the current page's item.
* @param $base_url the base URL for paging links. Each paging link will be at $base_url?page=<page_num>
* @return themed paging links; empty string if there is only one page in total.
*/
function garland_simple_pager_links($total_pages, $current_page, $num_page_links_either_side, $base_url) {
static $buttons;
if (empty($buttons)) {
$buttons = array(
'first' => array('text' => t('« first'), 'link_tooltip' => t('Go to first page')),
'prev' => array('text' => t('‹ previous'), 'link_tooltip' => t('Go to previous page')),
'next' => array('text' => t('next ›'), 'link_tooltip' => t('Go to next page')),
'last' => array('text' => t('last »'), 'link_tooltip' => t('Go to last page')),
'current' => array('class' => 'current'),
'ellipsis' => array('text' => '...'),
);
}
// show nothing if only one page
if (1 >= $total_pages)
return '';
// remove all query params from the base URL
$base_url = ltrim($base_url,'/');
// the first page in current set of pages
$pager_first = $current_page - $num_page_links_either_side;
// the last page in current set of pages
$pager_last = $current_page + $num_page_links_either_side;
// normalize
if (1 > $pager_first) {
$pager_last += (1 - $pager_first);
$pager_first = 1;
}
if ($total_pages < $pager_last) {
$pager_first -= ($pager_last - $total_pages);
if (1 > $pager_first)
$pager_first = 1;
$pager_last = $total_pages;
}
$items = array();
// show 'prev' button
if (1 < $current_page) {
// show 'first' button
if (1 < $pager_first) {
$items[] = array(
'class' => 'pager-first',
'data' => theme('simple-pager-link', $base_url, 1, $buttons['first']),
);
}
$items[] = array(
'class' => 'pager-previous',
'data' => theme('simple-pager-link', $base_url, $current_page-1, $buttons['prev']),
);
// show ellipsis
if (1 < $pager_first) {
$items[] = array(
'class' => 'pager-ellipsis',
'data' => theme('simple-pager-link', $base_url, '...', $buttons['ellipsis']),
);
}
}
// page links
for ($i=$pager_first; $i<=$pager_last; ++$i) {
if ($i == $current_page) {
$items[] = array(
'class' => 'pager-current',
'data' => theme('simple-pager-link', $base_url, $i, $buttons['current']),
);
} else {
$items[] = array(
'class' => 'pager-item',
'data' => theme('simple-pager-link', $base_url, $i, array('text' => $i, 'link_tooltip' => t('Goto page @d',array('@d' => $i)))),
);
}
}
// show 'next' button
if ($total_pages > $current_page) {
// show ellipsis
if ($total_pages > $pager_last) {
$items[] = array(
'class' => 'pager-ellipsis',
'data' => theme('simple-pager-link', $base_url, '...', $buttons['ellipsis']),
);
}
$items[] = array(
'class' => 'pager-next',
'data' => theme('simple-pager-link', $base_url, $current_page+1, $buttons['next']),
);
// show 'last' button
if ($total_pages > $pager_last) {
$items[] = array(
'class' => 'pager-last',
'data' => theme('simple-pager-link', $base_url, $total_pages, $buttons['last']),
);
}
}
return theme('item_list', $items, NULL, 'ul', array('class' => 'pager'));
}
/**
* Return a themed pager link.
*
* @param $base_url the base URL to add the paging query param to.
* @param $page the number of the page to link to.
* @param $button_attributes array('link_tooltip' =>, 'text' => 'class' =>).
* If 'link_tooltip' is ommitted then the text is returned witout a wrapping anchor. If 'text' is ommitted then
* $page is used as the link text.
*
* @return themed pager link.
*/
function garland_simple_pager_link($base_url, $page, $button_attributes) {
$text = isset($button_attributes['text']) ? $button_attributes['text'] : $page;
$attributes = array(
'title' => (isset($button_attributes['link_tooltip']) ? $button_attributes['link_tooltip'] : ''),
);
if (isset($button_attributes['class']))
$attributes['class'] = $button_attributes['class'];
if (isset($button_attributes['link_tooltip'])) {
return '<a href="'. check_url(url($base_url, array('query' => array('page' => $page)))) .'"'. drupal_attributes($attributes) .'>'. $text .'</a>';
} else {
return $text;
}
}
// Amend you theme's theme() method accordingly, as I've done below for Garland:
function garland_theme($existing, $type, $theme, $path) {
return array(
'simple-pager-links' => array(
'arguments' => array(NULL, NULL, NULL, NULL),
'function' => 'garland_simple_pager_links',
),
'simple-pager-link' => array(
'arguments' => array(NULL, NULL, NULL),
'function' => 'garland_simple_pager_link',
)
);
}
Revision: 30722
Updated Code
at August 25, 2010 00:55 by hiddentao
Updated Code
/**
* Return themed pager using same markup and CSS classes as the standard Drupal pager.
*
* @param $total_pages total no. of pages.
* @param $current_page the current page being viewed (1 <= $current_page <= $total_pages).
* @param $num_page_links_either_side no. of pages links to show either side of the current page's item.
* @param $base_url the base URL for paging links. Each paging link will be at $base_url?page=<page_num>
* @return themed paging links; empty string if there is only one page in total.
*/
function garland_simple_pager_links($total_pages, $current_page, $num_page_links_either_side, $base_url) {
static $buttons;
if (empty($buttons)) {
$buttons = array(
'first' => array('text' => t('« first'), 'link_tooltip' => t('Go to first page')),
'prev' => array('text' => t('‹ previous'), 'link_tooltip' => t('Go to previous page')),
'next' => array('text' => t('next ›'), 'link_tooltip' => t('Go to next page')),
'last' => array('text' => t('last »'), 'link_tooltip' => t('Go to last page')),
'current' => array('class' => 'current'),
'ellipsis' => array('text' => '...'),
);
}
// show nothing if only one page
if (1 >= $total_pages)
return '';
// remove all query params from the base URL
$base_url = ltrim($base_url,'/');
// the first page in current set of pages
$pager_first = $current_page - $num_page_links_either_side;
// the last page in current set of pages
$pager_last = $current_page + $num_page_links_either_side;
// normalize
if (1 > $pager_first) {
$pager_last += (1 - $pager_first);
$pager_first = 1;
}
if ($total_pages < $pager_last) {
$pager_first -= ($pager_last - $total_pages);
if (1 > $pager_first)
$pager_first = 1;
$pager_last = $total_pages;
}
$items = array();
// show 'prev' button
if (1 < $current_page) {
// show 'first' button
if (1 < $pager_first) {
$items[] = array(
'class' => 'pager-first',
'data' => theme('simple-pager-link', $base_url, 1, $buttons['first']),
);
}
$items[] = array(
'class' => 'pager-previous',
'data' => theme('simple-pager-link', $base_url, $current_page-1, $buttons['prev']),
);
// show ellipsis
if (1 < $pager_first) {
$items[] = array(
'class' => 'pager-ellipsis',
'data' => theme('simple-pager-link', '...', $base_url, $buttons['ellipsis']),
);
}
}
// page links
for ($i=$pager_first; $i<=$pager_last; ++$i) {
if ($i == $current_page) {
$items[] = array(
'class' => 'pager-current',
'data' => theme('simple-pager-link', $base_url, $i, $buttons['current']),
);
} else {
$items[] = array(
'class' => 'pager-item',
'data' => theme('simple-pager-link', $base_url, $i, array('text' => $i, 'link_tooltip' => t('Goto page @d',array('@d' => $i)))),
);
}
}
// show 'next' button
if ($total_pages > $current_page) {
// show ellipsis
if ($total_pages > $pager_last) {
$items[] = array(
'class' => 'pager-ellipsis',
'data' => theme('simple-pager-link', '...', $base_url, $buttons['ellipsis']),
);
}
$items[] = array(
'class' => 'pager-next',
'data' => theme('simple-pager-link', $base_url, $current_page+1, $buttons['next']),
);
// show 'last' button
if ($total_pages > $pager_last) {
$items[] = array(
'class' => 'pager-last',
'data' => theme('simple-pager-link', $base_url, $total_pages, $buttons['last']),
);
}
}
return theme('item_list', $items, NULL, 'ul', array('class' => 'pager'));
}
/**
* Return a themed pager link.
*
* @param $base_url the base URL to add the paging query param to.
* @param $page the number of the page to link to.
* @param $button_attributes array('link_tooltip' =>, 'text' => 'class' =>).
* If 'link_tooltip' is ommitted then the text is returned witout a wrapping anchor. If 'text' is ommitted then
* $page is used as the link text.
*
* @return themed pager link.
*/
function garland_simple_pager_link($base_url, $page, $button_attributes) {
$text = isset($button_attributes['text']) ? $button_attributes['text'] : $page;
$attributes = array(
'title' => (isset($button_attributes['link_tooltip']) ? $button_attributes['link_tooltip'] : ''),
);
if (isset($button_attributes['class']))
$attributes['class'] = $button_attributes['class'];
if (isset($button_attributes['link_tooltip'])) {
return '<a href="'. check_url(url($base_url, array('query' => array('page' => $page)))) .'"'. drupal_attributes($attributes) .'>'. $text .'</a>';
} else {
return $text;
}
}
// Amend you theme's theme() method accordingly, as I've done below for Garland:
function garland_theme($existing, $type, $theme, $path) {
return array(
'simple-pager-links' => array(
'arguments' => array(NULL, NULL, NULL, NULL),
'function' => 'garland_simple_pager_links',
),
'simple-pager-link' => array(
'arguments' => array(NULL, NULL, NULL),
'function' => 'garland_simple_pager_link',
)
);
}
Revision: 30721
Updated Code
at August 23, 2010 07:17 by hiddentao
Updated Code
/**
* Return themed pager using same markup and CSS classes as the standard Drupal pager.
*
* @param $total_pages total no. of pages.
* @param $current_page the current page being viewed (1 <= $current_page <= $total_pages).
* @param $num_page_links_either_side no. of pages links to show either side of the current page's item.
* @param $base_url the base URL for paging links. Each paging link will be at $base_url?page=<page_num>
* @return themed paging links; empty string if there is only one page in total.
*/
function garland_simple_pager_links($total_pages, $current_page, $num_page_links_either_side, $base_url) {
static $buttons;
if (empty($buttons)) {
$buttons = array(
'first' => array('text' => t('« first'), 'link_tooltip' => t('Go to first page')),
'prev' => array('text' => t('‹ previous'), 'link_tooltip' => t('Go to previous page')),
'next' => array('text' => t('next ›'), 'link_tooltip' => t('Go to next page')),
'last' => array('text' => t('last »'), 'link_tooltip' => t('Go to last page')),
'current' => array('class' => 'current'),
'ellipsis' => array('text' => '...'),
);
}
// show nothing if only one page
if (1 >= $total_pages)
return '';
// remove all query params from the base URL
$base_url = ltrim($base_url,'/');
// we try and keep the current page in the middle of set of pager links
$pager_current = $current_page;
// the first page in current set of pages
$pager_first = $current_page - $num_page_links_either_side;
// the last page in current set of pages
$pager_last = $current_page + $num_page_links_either_side;
// normalize
if (1 > $pager_first) {
$pager_last += (1 - $pager_first);
$pager_first = 1;
}
if ($total_pages < $pager_last) {
$pager_first -= ($pager_last - $total_pages);
if (1 > $pager_first)
$pager_first = 1;
$pager_last = $total_pages;
}
$items = array();
// show 'prev' button
if (1 < $current_page) {
// show 'first' button
if (1 < $pager_first) {
$items[] = array(
'class' => 'pager-first',
'data' => theme('simple-pager-link', $base_url, 1, $buttons['first']),
);
}
$items[] = array(
'class' => 'pager-previous',
'data' => theme('simple-pager-link', $base_url, $current_page-1, $buttons['prev']),
);
// show ellipsis
if (1 < $pager_first) {
$items[] = array(
'class' => 'pager-ellipsis',
'data' => theme('simple-pager-link', '...', $base_url, $buttons['ellipsis']),
);
}
}
// page links
for ($i=$pager_first; $i<=$pager_last; ++$i) {
if ($i == $pager_current) {
$items[] = array(
'class' => 'pager-current',
'data' => theme('simple-pager-link', $base_url, $i, $buttons['current']),
);
} else {
$items[] = array(
'class' => 'pager-item',
'data' => theme('simple-pager-link', $base_url, $i, array('text' => $i, 'link_tooltip' => t('Goto page @d',array('@d' => $i)))),
);
}
}
// show 'next' button
if ($total_pages > $current_page) {
// show ellipsis
if ($total_pages > $pager_last) {
$items[] = array(
'class' => 'pager-ellipsis',
'data' => theme('simple-pager-link', '...', $base_url, $buttons['ellipsis']),
);
}
$items[] = array(
'class' => 'pager-next',
'data' => theme('simple-pager-link', $base_url, $current_page+1, $buttons['next']),
);
// show 'last' button
if ($total_pages > $pager_last) {
$items[] = array(
'class' => 'pager-last',
'data' => theme('simple-pager-link', $base_url, $total_pages, $buttons['last']),
);
}
}
return theme('item_list', $items, NULL, 'ul', array('class' => 'pager'));
}
/**
* Return a themed pager link.
*
* @param $base_url the base URL to add the paging query param to.
* @param $page the number of the page to link to.
* @param $button_attributes array('link_tooltip' =>, 'text' => 'class' =>).
* If 'link_tooltip' is ommitted then the text is returned witout a wrapping anchor. If 'text' is ommitted then
* $page is used as the link text.
*
* @return themed pager link.
*/
function garland_simple_pager_link($base_url, $page, $button_attributes) {
$text = isset($button_attributes['text']) ? $button_attributes['text'] : $page;
$attributes = array(
'title' => (isset($button_attributes['link_tooltip']) ? $button_attributes['link_tooltip'] : ''),
);
if (isset($button_attributes['class']))
$attributes['class'] = $button_attributes['class'];
if (isset($button_attributes['link_tooltip'])) {
return '<a href="'. check_url(url($base_url, array('query' => array('page' => $page)))) .'"'. drupal_attributes($attributes) .'>'. $text .'</a>';
} else {
return $text;
}
}
// Amend you theme's theme() method accordingly, as I've done below for Garland:
function garland_theme($existing, $type, $theme, $path) {
return array(
'simple-pager-links' => array(
'arguments' => array(NULL, NULL, NULL, NULL),
'function' => 'garland_simple_pager_links',
),
'simple-pager-link' => array(
'arguments' => array(NULL, NULL, NULL),
'function' => 'garland_simple_pager_link',
)
);
}
Revision: 30720
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at August 20, 2010 02:39 by hiddentao
Initial Code
/**
* Return themed pager using same markup and CSS classes as the standard Drupal pager.
*
* @param $total_pages total no. of pages.
* @param $current_page the current page being viewed (1 <= $current_page <= $total_pages).
* @param $num_page_links_either_side no. of pages links to show either side of the current page's item.
* @param $base_url the base URL for paging links. Each paging link will be at $base_url?page=<page_num>
* @return themed paging links; empty string if there is only one page in total.
*/
function garland_simple_pager_links($total_pages, $current_page, $num_page_links_either_side, $base_url) {
static $buttons;
if (empty($buttons)) {
$buttons = array(
'first' => array('text' => t('« first'), 'link_tooltip' => t('Go to first page')),
'prev' => array('text' => t('‹ previous'), 'link_tooltip' => t('Go to previous page')),
'next' => array('text' => t('next ›'), 'link_tooltip' => t('Go to next page')),
'last' => array('text' => t('last »'), 'link_tooltip' => t('Go to last page')),
'current' => array('class' => 'current'),
'ellipsis' => array('text' => '...'),
);
}
// show nothing if only one page
if (1 >= $total_pages)
return '';
// remove all query params from the base URL
$base_url = ltrim($base_url,'/');
// we try and keep the current page in the middle of set of pager links
$pager_current = $current_page;
// the first page in current set of pages
$pager_first = $current_page - $num_page_links_either_side;
// the last page in current set of pages
$pager_last = $current_page + $num_page_links_either_side;
// normalize
if (1 > $pager_first) {
$pager_last += (1 - $pager_first);
$pager_first = 1;
}
if ($total_pages < $pager_last) {
$pager_first -= ($pager_last - $total_pages);
if (1 > $pager_first)
$pager_first = 1;
$pager_last = $total_pages;
}
$items = array();
// show 'prev' button
if (1 < $current_page) {
// show 'first' button
if (1 < $pager_first) {
$items[] = array(
'class' => 'pager-first',
'data' => theme('simple-pager-link', $base_url, 1, $buttons['first']),
);
}
$items[] = array(
'class' => 'pager-previous',
'data' => theme('simple-pager-link', $base_url, $current_page-1, $buttons['prev']),
);
// show ellipsis
if (1 < $pager_first) {
$items[] = array(
'class' => 'pager-ellipsis',
'data' => theme('simple-pager-link', '...', $base_url, $buttons['ellipsis']),
);
}
}
// page links
for ($i=$pager_first; $i<=$pager_last; ++$i) {
if ($i == $pager_current) {
$items[] = array(
'class' => 'pager-current',
'data' => theme('simple-pager-link', $base_url, $i, $buttons['current']),
);
} else {
$items[] = array(
'class' => 'pager-item',
'data' => theme('simple-pager-link', $base_url, $i, array('text' => $i, 'link_tooltip' => t('Goto page @d',array('@d' => $i)))),
);
}
}
// show 'next' button
if ($total_pages > $current_page) {
// show ellipsis
if ($total_pages > $pager_last) {
$items[] = array(
'class' => 'pager-ellipsis',
'data' => theme('simple-pager-link', '...', $base_url, $buttons['ellipsis']),
);
}
$items[] = array(
'class' => 'pager-next',
'data' => theme('simple-pager-link', $base_url, $current_page+1, $buttons['next']),
);
// show 'last' button
if ($total_pages > $pager_last) {
$items[] = array(
'class' => 'pager-last',
'data' => theme('simple-pager-link', $base_url, $total_pages, $buttons['last']),
);
}
}
return theme('item_list', $items, NULL, 'ul', array('class' => 'pager'));
}
/**
* Return a themed pager link.
*
* @param $base_url the base URL to add the paging query param to.
* @param $page the number of the page to link to.
* @param $button_attributes array('link_tooltip' =>, 'text' => 'class' =>).
* If 'link_tooltip' is ommitted then the text is returned witout a wrapping anchor. If 'text' is ommitted then
* $page is used as the link text.
*
* @return themed pager link.
* @see garland_pager_link()
*/
function garland_simple_pager_link($base_url, $page, $button_attributes) {
$text = isset($button_attributes['text']) ? $button_attributes['text'] : $page;
$attributes = array(
'title' => (isset($button_attributes['link_tooltip']) ? $button_attributes['link_tooltip'] : ''),
);
if (isset($button_attributes['class']))
$attributes['class'] = $button_attributes['class'];
if (isset($button_attributes['link_tooltip'])) {
return '<a href="'. check_url(url($base_url, array('query' => array('page' => $page)))) .'"'. drupal_attributes($attributes) .'>'. $text .'</a>';
} else {
return $text;
}
}
// Amend you theme's theme() method accordingly, as I've done below for Garland:
function garland_theme($existing, $type, $theme, $path) {
return array(
'simple-pager-links' => array(
'arguments' => array(NULL, NULL, NULL, NULL),
'function' => 'garland_simple_pager_links',
),
'simple-pager-link' => array(
'arguments' => array(NULL, NULL, NULL),
'function' => 'garland_simple_pager_link',
)
);
}
Initial URL
Initial Description
All code should ideally go into your theme\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s template.php file. I\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'ve used the default Garland theme here as an example.
Initial Title
Simple pager script for Drupal 6
Initial Tags
php, drupal
Initial Language
PHP