[RISOLTO][PHP] Problema Pagination

Kolop

Utente Attivo
20 Mar 2017
57
0
6
25
Salve, sto usando Cutenews e ho un piccolo problema di Pagination.

Ora è così:

rSycUJp.png


E vorrei che appaia così:

qU7v2t2.png


Senza quei ... e tutti quei numeri oltre.

Il codice è questo:

PHP:
// Get config
$_enable_pagination = getoption('disable_pagination') ? FALSE : TRUE;

// Enable ignore rewrite for pagination
$_ignore_rewrite    = isset($ignore_rewrite) && $ignore_rewrite ? true : false;
$ignore_rewrite     = false;

// No pagination, if showed rows less than number
if ($_cn <= $number || !$number)
{
    $_enable_pagination = FALSE;
}

// in case of pagination
if ($_enable_pagination)
{   
    $PSTF = array('category' => '');
    $out = cn_get_template('prev_next', $template);

    // <!--- PREV
    $_prev_num = $start_from - $number;

    // Back to previous page
    if ($_prev_num >= 0)
    {
        if (getoption('rw_engine') && !$_ignore_rewrite)
        {
            if ($tag)
            {
                $url = cn_rewrite('tag', $tag, $_prev_num, $PSTF);
            }
            else
            {
                $url = cn_rewrite('list', $_prev_num, $archive, $PSTF);
            }
        }
        else
        {
            $url = cn_url_modify("start_from=$_prev_num");
        }

        $PREV = '<a class="cn-previous-news" href="'.$url.'">\\1</a>';       
    }
    // Back to first page
    elseif ( $start_from && $_prev_num>0 )
    {
        if (getoption('rw_engine') && !$_ignore_rewrite)
        {
            if ($tag)
            {
                $url = cn_rewrite('tag', $tag, 0, $PSTF);
            }
            else
            {
                $url = cn_rewrite('list', 0, $archive, $PSTF);
            }
        }
        else
        {
            $url = cn_url_modify('start_from');
        }

        $PREV = '<a class="cn-previous-news" href="'.$url.'">\\1</a>';       
    }
    else
    {
        $PREV = '\\1';
    }

    // NEXT --->
    if ($number && ($start_from + $number < $_cn))
    {
        $_next_num = $start_from + $number;

        if (getoption('rw_engine') && !$_ignore_rewrite)
        {
            if ($tag)
            {
                $url = cn_rewrite('tag', $tag, $_next_num, $PSTF);
            }
            else
            {
                $url = cn_rewrite('list', $_next_num, $archive, $PSTF);
            }
        }
        else
        {
            $url = cn_url_modify("start_from=$_next_num");
        }

        $NEXT = '<a class="cn-next-news" href="'.$url.'">\\1</a>';
    }
    else
    {
        $NEXT = '\\1';
    }

    // Settings for Prev and Next
    if ($no_prev)
    {
        $PREV = '';
    }
    if ($no_next)
    {
        $NEXT = '';
    }

    // One is has
    if (!$no_prev || !$no_next)
    {
        $links  = '';
        $out = preg_replace('/\[prev\-link\](.*)\[\/prev\-link\]/is', $PREV, $out);
        $out = preg_replace('/\[next\-link\](.*)\[\/next\-link\]/is', $NEXT, $out);

        // Get page count, if $number is present
        $pages  = $number ? (intval($_cn / $number) + (($_cn % $number == 0) ? 0 : 1)) : 0;       
        // Limits
        $limit_skip   = false;
        $page_limits  = getoption('pagination_pages') ? getoption('pagination_pages') : 2;
        $current_page = intval($start_from / $number);       
        $limit_left   = $current_page - $page_limits;
        $limit_right  = $current_page + $page_limits;

    for ($i = 0; $i < $pages; $i++)
        {
            $_next_num = $number * $i;

            if (getoption('rw_engine') && !$_ignore_rewrite)
            {
                if ($tag)
                {
                    $url = cn_rewrite('tag', $tag, $_next_num, $PSTF);
                }
                else
                {
                    $url = cn_rewrite('list', $_next_num, $archive, $PSTF);
                }
            }
            else
            {
                $url = cn_url_modify("start_from=$_next_num");
            }
            if ($limit_skip == false && ($limit_left >= $i || $i > $limit_right))
            {
                $links .= '<span class="cn-page-skip">...</span> ';
                $limit_skip = true;
            }
            elseif ($i != $current_page) //$start_from != $_next_num
            {               
                $links .= '<a class="cn-page-news" href="'.$url.'">'.($i+1).'</a> ';
                $limit_skip = false;
            }
            else
            {
                $links .= '<span class="cn-current-page-news">'.($i+1).'</span> ';
                $limit_skip = false;
            }
        }
        
        $out = str_replace('{pages}', $links, $out);
        echo $out;
    }
}

Non conosco niente di PHP quindi chiedo a voi. Grazie.
 

Kolop

Utente Attivo
20 Mar 2017
57
0
6
25
Ho risolto modificando questa stringa finale:

PHP:
 if ($limit_skip == false && ($limit_left >= $i || $i > $limit_right))
            {
                $links .= '<span class="cn-page-skip"></span> ';
                $limit_skip = false;
            }

Ditemi se si può fare di meglio oppure va bene così. Il risultato anche così c'è...
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
A [PHP] Problema query insert [RISOLTO] PHP 14
K [RISOLTO] Problema Griglia Php+Mysql PHP 13
S Problema in PHP per invio file XML - RISOLTO- PHP 8
otto9due [risolto] Problema sessioni php e login PHP 5
Alessandro Le Mura [risolto] PHP problema memorizzazione array PHP 4
C [RISOLTO]Inserimento variabile php in input html PHP 20
moustache [RISOLTO] SQL PHP IIS PHP 8
L update tabelle in php mysql [risolto] PHP 6
B [PHP] recuperare IP dei server in load balancing [RISOLTO] PHP 3
C [RISOLTO][PHP] Errore di sintassi PHP 8
C [RISOLTO][PHP] Funzione ONclick PHP 14
C [RISOLTO][PHP] Conteggio righe di una tabella PHP 4
N [PHP] Utilizzo variabili di sessione [Risolto] PHP 13
Tommy03 [RISOLTO][PHP] Webserver o devserver? PHP 2
spider81man [PHP] Problemi cancellazione dato su DB [RISOLTO] PHP 1
A [PHP] RISOLTO Invio Mail con Tabella PHP 2
elpirata [PHP][RISOLTO] Sommare gli importi estratti da un ciclo while PHP 3
elpirata [PHP][RISOLTO] Effettuare la somma dei tempi di lavorazione PHP 3
elpirata [PHP] [RISOLTO]Sovrascrivere testo in una tabella PHP 2
A [RISOLTO]Recuperare dati inviati con json tramite php PHP 4
C [RISOLTO][PHP] Passaggio variabili senza refresh di pagina PHP 7
elpirata [PHP][RISOLTO] Errore di tipo Notice: Undefined index - Come risolvere quando si hanno tante var PHP 10
A [RISOLTO] HighChart e PHP PHP 4
A [RISOLTO] PHP Selezionare tutti i file con stessa estensione PHP 2
A [RISOLTO] Table elaborata da codice PHP con dati da DB non visualizzata in IFRAME PHP 15
Zea [PHP] RISOLTO - creare link con il risultato dell'interrogazione db PHP 1
A [PHP] [RISOLTO]Compilazione campi form da record db PHP 3
A [PHP] [RISOLTO] Modifica record db da form PHP 11
G [PHP][RISOLTO] Include/Require non funzionante PHP 9
C [PHP] RISOLTO - Eliminare elementi duplicati da array multidimensionale PHP 1
G [RISOLTO][PHP] Call to a member function num_rows() on a non-object PHP 9
U [PHP - RISOLTO] Tabella dinamica: colonne selezionate da checkbox PHP 40
CristianB72 [RISOLTO] [PHP] Istruzione "if" non funziona PHP 6
fabryx [PHP] RISOLTO: Download file da web e trasferimento su server PHP 2
fabryx [PHP]RISOLTO: Parsing xml nodi con caratteri speciali PHP 1
CristianB72 [RISOLTO][PHP] preg_match di un array PHP 7
G [RISOLTO][PHP] Estrapolare dati da Tabella PHP 11
A [RISOLTO]Errore caricamento file php PHP 21
coccobil [PHP] RISOLTO -Recupare valore data che soddisfa certi requisiti da array PHP 3
fabryx [PHP]RISOLTO: Trasformare righe in colonne assegnando singole variabili PHP 10
fabryx [PHP]RISOLTO: eliminazione riga con singolo valore duplicato in array PHP 19
elpirata [RISOLTO]Stampare giorno della settimana in tabella php PHP 6
elpirata [PHP] [RISOLTO] Stampare classe css in base al risultato della query PHP 6
elpirata [Risolto] Gestione Prenotazioni script php PHP 25
K [risolto] passaggio variabile a pagina php con ajax Ajax 6
J [risolto] Trasformare la seguente classe PHP PHP 2
E [risolto] win 8.1 + IE11 le sessioni PHP non fuonzionano correttamente PHP 7
N [RISOLTO] Mostrare a video le checkbox selezionate con PHP e MySQL PHP 4
G [risolto] Creazione file excel con PHP PHP 3
S [risolto] Aiuto: ciclo php ( for / while). popolare select dinamicamente da array id. PHP 9

Discussioni simili