Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#1 12-10-2009 00:35:05

Mattt07
Membre

Changer l'affichage du nombre de pages d'un topic

Bonjour,

Vous faites quoi là, maintenant ?  [ 1 2 3 … 32 ]

L'exemple se trouve ci-dessus, les forumers aimeraient qu'au lieu d'avoir [ 1 2 3 … 32 ], cela soit plutôt [ 1 2 … 33 32 ], cad les 2 premiers et les 2 derniers...

Comment faire ?

L'adresse de mon forum : http://www.insidebasket.com/forum

Merci à vus

Hors ligne

#2 12-10-2009 00:45:50

venuxweb
Membre

Re : Changer l'affichage du nombre de pages d'un topic

Bonjour,

tres bonne requete, mieux encore, comment ajouter un bouton < SUIVANT > / < PRECEDENT > ?

Ou alors carrement un menu deroulant pour choisir la page?

Hors ligne

#3 12-10-2009 11:57:38

fanf73
Wik-wiki

Re : Changer l'affichage du nombre de pages d'un topic

@Mattt07

Essaie de remplacer la fonction "paginate" dans le fichier functions.php par le code suivant. Je n'ai pas pu le tester donc fait des tests en local :

Voir plus bas, cette modif ne fonctionnait pas

___________________________________

@venuxweb

Dans le fichier functions.php, chercher

if ($num_pages <= 1)
        $pages = array('<strong>1</strong>');
    else
    {

Ajouter après

if($cur_page != 1)
        $pages[] = '<a href="'.$link_to.'&p='.($cur_page-1).'">Précédent</a>';

Chercher

if ($cur_page <= ($num_pages-3))
        {
            if ($cur_page != ($num_pages-3))
                $pages[] = '&hellip;';

            $pages[] = '<a href="'.$link_to.'&p='.$num_pages.'">'.$num_pages.'</a>';
        }

Ajouter après

if($cur_page != $num_pages)
        $pages[] = '<a href="'.$link_to.'&p='.($cur_page+1).'">Suivant</a>';

Idem, à tester en local au cas où

Dernière modification par fanf73 (12-10-2009 22:46:41)


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#4 12-10-2009 13:32:10

Mattt07
Membre

Re : Changer l'affichage du nombre de pages d'un topic

Bonjour et tout d'abord merci de ton aide fanf73

J'ai testé alors cela fonctionne mais petit soucis du genre :

Inside Basket sur Google Map par Mattt07  [ 1 2 2 3 ]

La 2ème page 2 est répétée deux fois... au lieu de :

Inside Basket sur Google Map par Mattt07  [ 1 2 3 ]

Hors ligne

#5 12-10-2009 13:50:45

fanf73
Wik-wiki

Re : Changer l'affichage du nombre de pages d'un topic

Essaie avec ça : cherche

return implode(' ', $pages);

Ajoute avant

if(count($pages) == 4)
    $pages = array_unique($pages);

Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#6 12-10-2009 13:58:21

Mattt07
Membre

Re : Changer l'affichage du nombre de pages d'un topic

grand merci fanf73, c'est exactement ce que je voulais !

Hors ligne

#7 12-10-2009 14:00:52

fanf73
Wik-wiki

Re : Changer l'affichage du nombre de pages d'un topic

Il y a encore un soucis quand on est en page 3 d'un gros topic  (ou en avant-avant dernière page) http://www.insidebasket.com/forum/viewt … id=436&p=3 mais je ne vois pas trop quoi hmm. J'essaierai de tout reprendre pour voir où ça bloque si j'ai le temps mais rien n'est sûr.


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#8 12-10-2009 14:06:11

Mattt07
Membre

Re : Changer l'affichage du nombre de pages d'un topic

ah oui en effet, bien vu...

bon je laisse comme cela pour le moment car malgré tout, cela fonctionne puis dés que tu as la solution, de tte façon je suis abonné ici.

Merci en tout cas pour ta disponibilité et gentillesse

Hors ligne

#9 12-10-2009 18:50:29

venuxweb
Membre

Re : Changer l'affichage du nombre de pages d'un topic

fanf73 a écrit :

@venuxweb

Dans le fichier functions.php, chercher

if ($num_pages <= 1)
        $pages = array('<strong>1</strong>');
    else
    {

Ajouter après

if(cur_page != 1)
        $pages[] = '<a href="'.$link_to.'&p='.($cur_page-1).'">Précédent</a>';

Chercher

if ($cur_page <= ($num_pages-3))
        {
            if ($cur_page != ($num_pages-3))
                $pages[] = '&hellip;';

            $pages[] = '<a href="'.$link_to.'&p='.$num_pages.'">'.$num_pages.'</a>';
        }

Ajouter après

if(cur_page != $num_pages)
        $pages[] = '<a href="'.$link_to.'&p='.($cur_page+1).'">Suivant</a>';

Idem, à tester en local au cas où

Merci pour ton aide, juste que [ Précédent 1 2 3 Suivant ] s'affiche dans le Viewforum pour les topics ayant plusieurs pages tongue

Aurais-tu une solution ?
Merci

Hors ligne

#10 12-10-2009 19:33:05

fanf73
Wik-wiki

Re : Changer l'affichage du nombre de pages d'un topic

Il faudrait tester l'adresse des liens et le script actuellement en cours hmm

Il y a deux erreurs dans mon code, j'ai oublié deux fois le "$" devant la variable "cur_page", dans les tests

 if($cur_page != $num_pages)
if($cur_page != 1)

Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#11 12-10-2009 20:43:05

Mattt07
Membre

Re : Changer l'affichage du nombre de pages d'un topic

Cela s'applique aussi à mon problème fanf73?

Hors ligne

#12 12-10-2009 20:48:19

venuxweb
Membre

Re : Changer l'affichage du nombre de pages d'un topic

Merci, j'ai bien fait les modifications en ajoutant $

Maintenant le "Precedent" a disparu, mais j'ai tjrs le "Suivant" qui s'inscrit dans le Viewforum :

[ 1 2 3 4 Suivant ]

Hors ligne

#13 12-10-2009 22:25:49

fanf73
Wik-wiki

Re : Changer l'affichage du nombre de pages d'un topic

non, Mattt07 ça ne s'applique pas à ton soucis, il est plus complexe et je n'ai pas encore eu le temps de chercher.


Je pense par contre avoir trouvé pour ne pas afficher "Précédent" et "Suivant" dans la liste des topics d'un forum.

Dans le fichier functions.php, chercher

if ($num_pages <= 1)
        $pages = array('<strong>1</strong>');
    else
    {

Ajouter après

if($cur_page != 1 && !$link_to_all)
        $pages[] = '<a href="'.$link_to.'&p='.($cur_page-1).'">Précédent</a>';

Chercher

if ($cur_page <= ($num_pages-3))
        {
            if ($cur_page != ($num_pages-3))
                $pages[] = '&hellip;';

            $pages[] = '<a href="'.$link_to.'&p='.$num_pages.'">'.$num_pages.'</a>';
        }

Ajouter après

if($cur_page != $num_pages && !$link_to_all)
        $pages[] = '<a href="'.$link_to.'&p='.($cur_page+1).'">Suivant</a>';

Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#14 12-10-2009 22:35:17

venuxweb
Membre

Re : Changer l'affichage du nombre de pages d'un topic

Enorme !! Merci beaucoup smile

Reglé pour ma part

Hors ligne

#15 12-10-2009 22:45:32

fanf73
Wik-wiki

Re : Changer l'affichage du nombre de pages d'un topic

Je pense avoir résolu le soucis pour Mattt07 également, de manière empirique donc ne me demandait pas à moi non plus comment ça fonctionne (cf le commentaire déjà présent dans cette fonction).

Attention : le nombre de numéros de page affichés est plus important que d'habitude et il se peut que ça se chevauche avec le "fil d'ariane" si votre forum n'est pas très large, et plus encore si vous ajouter les liens "Suivantss & Précédent".

Voici le code complet :

//
// Generate a string with numbered links (for multipage scripts)
//
function paginate($num_pages, $cur_page, $link_to)
{
    $pages = array();
    $link_to_all = false;

    // If $cur_page == -1, we link to all pages (used in viewforum.php)
    if ($cur_page == -1)
    {
        $cur_page = 1;
        $link_to_all = true;
    }

    if ($num_pages <= 1)
        $pages = array('<strong>1</strong>');
    else
    {
        if ($cur_page > 2)
        {
            $pages[] = '<a href="'.$link_to.'&p=1">1</a>';
            
            if ($cur_page != 3)
                {
                $pages[] = '<a href="'.$link_to.'&p=2">2</a>';
                if($cur_page != 4)
                    $pages[] = '&hellip;';
                }
        }

        // Don't ask me how the following works. It just does, OK? :-)
        for ($current = $cur_page - 1, $stop = $cur_page + 2; $current < $stop; ++$current)
        {
            if ($current < 1 || $current > $num_pages)
                continue;
            else if ($current != $cur_page || $link_to_all)
                $pages[] = '<a href="'.$link_to.'&p='.$current.'">'.$current.'</a>';

                
            else
                $pages[] = '<strong>'.$current.'</strong>';
        }

        if ($cur_page <= ($num_pages-2))
        {
            if ($cur_page != ($num_pages-2) && $cur_page != ($num_pages-3))
                $pages[] = '&hellip;';
            
        if($cur_page < $num_pages-2 && $num_pages != 3)    
            $pages[] = '<a href="'.$link_to.'&p='.($num_pages-1).'">'.($num_pages-1).'</a>';
            $pages[] = '<a href="'.$link_to.'&p='.$num_pages.'">'.$num_pages.'</a>';
        }
    }

    return implode(' ', $pages);
}

Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#16 13-10-2009 00:29:40

Mattt07
Membre

Re : Changer l'affichage du nombre de pages d'un topic

Merci fanf73, je pense que pour mon forum cela ne pose pas de problème

c'est nickel il me semble happy

Hors ligne

Pied de page des forums