Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
Bonsoir à tous,
J'ai chercher une mod qui permettrais ça, sans rien trouvé (ais-je mal cherché ? Possible, pourtant j'y ai mis du coeur
)
Explication :
Une discussion est composé d'un nombre X de message, qui fait que la pagination se met en place, et je me retrouve avec une discussion sur plusieurs page.
Pour que le suivi de la discussion soit plus pratique, j'aimerais afficher le dernier message qui se trouve sur la page précédente.
Ce soir j'en ai plein les yeux, j'ai pas arrêter d'intégrer/adaptar/corriger pas mal de mod, et j'ai du mal à y voir clair.
Je suppose fortement que la solution se situe en 3 malheureuse ligne de code dans viewtopic.php , mais où, là je sèche ce soir.
Merci à vous !
[img]http://www.grid-france.fr/images/equipe/userbar_equipe_france_2.gif[/img] Équipe France
Hors ligne
Génial, merci je teste ça !
[img]http://www.grid-france.fr/images/equipe/userbar_equipe_france_2.gif[/img] Équipe France
Hors ligne
Pas bète cette idée de "suivant/précèdent", pas compliqué à mettre en place ça.
Tout petit bout de code est bon, il fonctionne très bien !!!
J'ai rajouter ma petite touche perso, pour que le dernier message soit indiquer comme message repris, il faut chercher :
<?php echo $cur_post['message']."\n" ?>Juste avant, rajouter :
<?php if($start_from > 1 AND $first_reprise == TRUE) { echo "\t\t\t\t\t".'<p class="message_reprise"><em>(reprise du message précédent)</em></p>'."\n"; $first_reprise = FALSE; } ?>Ensuite, trouver la boucle "while" :
while ($cur_post = $db->fetch_assoc($result))
{Et rajouter avant :
$first_reprise = TRUE;Et voilà, le premier message aura un petit commentaire tout en haut du message.
Vous pouvez le personnaliser avec les css après avec la class : .message_reprise
Pour ma part, j'ai rajouter ceci :
#punwrap p.message_reprise {
margin-bottom: 20px;
text-align: right;
font-style: italic;
}J'ai rajouté l'ID dans mon sélecteur car j'ai le site et le forum complètement mit l'un dans l'autre (http://www.grid-france.net)
Dernière modification par Super_baloo8 (02-09-2009 21:27:05)
[img]http://www.grid-france.fr/images/equipe/userbar_equipe_france_2.gif[/img] Équipe France
Hors ligne
Quel impolitesse, MERCI !!!!!!! 
[img]http://www.grid-france.fr/images/equipe/userbar_equipe_france_2.gif[/img] Équipe France
Hors ligne
OOps, j'ai rien dis 
Dernière modification par Super_baloo8 (02-09-2009 21:36:40)
[img]http://www.grid-france.fr/images/equipe/userbar_equipe_france_2.gif[/img] Équipe France
Hors ligne
Correction du code, il faut remplacer cette ligne :
if ($start_from > 1) {$start_from--; $disp_posts++;}Par
if ($start_from >= 1) {$start_from--; $disp_posts++;}Pourquoi exactement, aucune idée. Mais ça fonctionne mieux ainsi, je n'ai plus de décalage de message entre les page, tout fonctionne comme prévu !
[img]http://www.grid-france.fr/images/equipe/userbar_equipe_france_2.gif[/img] Équipe France
Hors ligne
Pourquoi exactement, aucune idée.
C'est parce que $start_from a comme limite inférieure 0 (le premier message est le 0, pas le 1).
Hors ligne
Oui mais quand tu passe à la page 2, le premier message n'est pas le message 0 mais le message 0 + le nombre de message à afficher par discussion (valeur du membre).
Donc normalement c'est toujours supérieur à 1 lors de la page 2, c'est pour ça que je ne comprends pas.
(LIMIT 0, 20) pour afficher les 19 premiers message de la discussion, et (LIMIT 20, 40) pour afficher les 19 messages suivant à partir du message n° 20 de la discussion.
Puis (LIMIT 40, 60) etc etc ....
Donc normalement le $start_from est toujours supérieur à 1 lorsque que l'on passe à la page 2. Donc pourquoi le "supérieur ou égale" fonctionne correctement alors que le "strictement supérieur à" ne fonctionne que sur la page 2 ?
C'est ça que je ne comprends pas.
A moins que je n'ai pas bien compris ce que tu voulais dire ?
Dernière modification par Super_baloo8 (06-09-2009 17:35:24)
[img]http://www.grid-france.fr/images/equipe/userbar_equipe_france_2.gif[/img] Équipe France
Hors ligne
oui, c'est curieux ! moi ça fonctionne avec > 1 et >= 1
Les deux test fonctionnent sur la page 1 et 2, si je vais à une page 3, il faut que la condition soit supérieur ou égale, sinon marche pas, (le message de la page d'avant n'est pas repris).
Va savoir pourquoi ... 
[img]http://www.grid-france.fr/images/equipe/userbar_equipe_france_2.gif[/img] Équipe France
Hors ligne
Bonjour, je cherche a faire a peu pret la meme chose mais je n'y arrive pas donc si quelqu'un peut me guider, je suis preneur.
Je cherche simplement au lieu d'afficher le dernier post de la page precedente a afficher tout simplement le premier post de la discussion!
la modif doit surement se trouver par la mais je n'y arrive pas sniff
if ($start_from > 1) {$start_from--; $disp_posts++;}La raison est vu que je tris par defaut les post du plus recent au plus ancien, le premier message se trouve à la derniere page grrrr.
Merci d'avance
Hors ligne
C'est donc tout simple, tu lance ta requête, tu ne mets pas de boucle pour lire chaque post et tu ne lis que le dernier qui est en fait le premier de la discussion
Hors ligne