Ciao a tutti, sto utilizando la classe di paginazione ycpager ma ho riscontrato un problema.
L'ho settata per visualizzare 4 numeri di pagina prima e dopo alla pagina corrente ma se, per esempio,
le pagine totali sono 18 ed io mi trovo a pagina 17 i link visualizzati arrivano sino a pagina 21.
Idem se mi trovo a pagina 16, vengono visualizzati link fino alla pagina 20, ma in totale le pagine sono 18.
Non capisco dove stia il bug e come risolverlo, mi aiutate per favore ?
Codice PHP:
public function getPager() {
$currentPage = $this->_currentPage;
$prev = $this->_prevLink;
$next = $this->_nextLink;
$total = $this->getOffset();
echo '<ul class="menuNavigazionefoto">';
$this->getFirst();
$this->getPrev();
if($total < ($prev + $next + 1)) {
$prev = 0;
$next = 0;
for($i = $total; $i > 0; $i--) {
$return[$i] = $i;
}
}
else {
if($currentPage == $total) {
if($currentPage - ($prev + $next + 1) >= 0) {
for($i = $total; $i > ($total - ($prev + $next + 1)); $i--) {
$return[$i] = $i;
}
}
}
else if($currentPage < $total) {
if($currentPage - $prev > 0) {
for($i = $currentPage - $prev; $i < $currentPage + $next + 1; $i++) { $return[$i] = $i;
}
}
else if($currentPage - $prev <= 0) {
for($i = 1; $i <= ($prev + $next + 1); $i++) {
$return[$i] = $i;
}
}
}
}
if(!empty($return)) { sort($return); }
for($i = 0; $i < count($return); $i++) {
if($return[$i] != $this->_currentPage)
echo '<li><a href="'. $this->_redirectTo .'p='. $return[$i] .'" title="">'. $return[$i].'</a> </li>';
else
echo '<li>'. $return[$i] .' </li>';
}
$this->getNext();
$this->getLast();
echo '</ul>';
}