Hi,
I'm haven't (yet) got the pagebuilder plugin - so I'm not sure how it works, but if you can use globals and set the page number you could modify this global (modified from a sub taken from somewhere in the links core code) to get what you want. Or Ivan could modify it for the plugin. I've taken out the urls and suggested that your pages would be called page1.html, page2.html etc. I'm using it successfully on dynamic pages on my site.
sub {
# ---------------------------------------------------------------
# Display/calculate a "next hits" toolbar.
#
my ($nh) = @_;
my $maxhits = 10; #links per page
my $numhits = 100; #total number - use a table count to get a precise number or just add your max here
my ($next_url, $max_page, $next_hit, $prev_hit, $left, $right, $upper, $lower, $first, $url, $last, $i);
# Return if there shouldn't be a speedbar.
return unless ($numhits > $maxhits);
$next_hit = $nh + 1;
$prev_hit = $nh - 1;
$max_page = int ($numhits / $maxhits) + (($numhits % $maxhits) ? 1 : 0);
# First, set how many pages we have on the left and the right.
$left = $nh;
$right = int($numhits/$maxhits) - $nh;
# Then work out what page number we can go above and below.
($left > 7) ? ($lower = $left - 7) : ($lower = 1);
($right > 7) ? ($upper = $nh + 7) : ($upper = int($numhits/$maxhits) + 1);
# Finally, adjust those page numbers if we are near an endpoint.
(7 - $nh >= 0) and ($upper = $upper + (8 - $nh));
($nh > ($numhits/$maxhits - 7)) and ($lower = $lower - ($nh - int($numhits/$maxhits - 7) - 1));
$url = "";
# Then let's go through the pages and build the HTML.
($nh > 1) and ($url .= qq~<a href="page1.html">[<<]</a> ~);
($nh > 1) and ($url .= qq~<a href="page$prev_hit.html">[<]</a> ~);
for ($i = 1; $i <= int($numhits/$maxhits) + 1; $i++) {
if ($i < $lower) { $url .= " ... "; $i = ($lower-1); next; }
if ($i > $upper) { $url .= " ... "; last; }
($i == $nh) ? ($url .= qq~$i ~) : ($url .= qq~<a href="page$i.html">$i</a> ~);
if ($i * $maxhits == $numhits) { $nh == $i and $next_hit = $i; last; }
}
$url .= qq~<a href="page$next_hit.html">[>]</a> ~ unless ($next_hit == $nh or ($nh * $maxhits > $numhits));
$url .= qq~<a href="page$max_page.html">[>>]</a> ~ unless ($next_hit == $nh or ($nh * $maxhits > $numhits));
return $url;
}
Hope it helps,
Laura.
The UK High Street