Les [pagebreak] des portails collaboratifs (comment ca marche?) [Résolu]

Signaler
Messages postés
34
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
11 mai 2007
-
Messages postés
34
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
11 mai 2007
-
Bonjour !

J'ai testé divers portails collaboratifs (phpnuke, joomla, guppy et xoops) mais je souhaiterais concevoir mon propre site avec certaines de leurs fonctionnalités, car leurs gros défauts (pour mon cas) sont : lenteur d'éxécution, personnalisation et options employées à outrance.

Donc, le problème qui me casse les neurones en ce moment est : comment fonctionne les [pagebreak] pour les modules de news ?

Voici ce que je voudrais obtenir :

Je voudrai avoir un formulaire dans mon admin ou je tape le titre de mon article et un textarea pour le contenu. Dans le textarea, je veux insérer une marque (comme le [pagebreak]) qui indiquera un saut de page.
Sur le site, côté utilisateur qui le consulte, je veux que ça affiche le titre de mon article, la page de contenu et un compteur de pages en bas basé sur le nombre de [pagebreak] qui auront été rentrés depuis l'admin lors de la rédaction de l'article.

Merci d'avance pour vos éclaircissements sur cette méthode ou toute suggestion aboutissant à ce résultat !

5 réponses

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

y a plein de méthodes pour faire ça.
Pour faire exactement ce dont tu parles :
L'admin écrit [pageBreak] par exemple.
Je suppose que tout ça est stocké en base.
Quand tu récupères le texte en question, fais un explode sur  [pageBreak] de la chaîne récupérée : tu récupères donc un tableau, avec autant d'entrées que de page.
Après, à toi de voir : tu stockes en session ton tableau, et le pointeur, par exemple. Tu incrémentes ou décrémentes le pointeur en fonction des déplacements de l'utilisateur (un lien, avec numéro de page -égal à chaque valeur de ton pointeur entre 1 et pointeurMax), où tu passes ce pointeur : ?page=$pointeurNext. Le pointeur correspondant à une clef de ton tableau $aArticle, il te suffit, dans la page où tu es, d'afficher $_SESSION[$aArticle][$pointeur].
Messages postés
431
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2008

Salut,

Une suggestion : compter le nombre de mots et dire que si cela dépasse x mots, on passe à la page suivante.

++
Messages postés
34
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
11 mai 2007

Oui, j'y ai pensé, le soucis, c'est que si je rentre des balises html de mise en forme, elles vont être prises en compte comme des mots ... d'où l'intérêt d'avoir un repère lors de la saisie du texte dans le textearea
Messages postés
34
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
11 mai 2007

Je crois comprendre le mécanisme :

Après avoir effectuer ma requete pour sélectionner le contenu, je fais un truc de ce genre :

$resultat= mysql_query(gnagnagna);
$ligne = mysql_fetch_array($resultat);

$string = $ligne['contenu'];

print_r( explode('[pagebreak]', $string) );

Ce qui me retournera si j'ai deux [pagebreak] et donc trois pages :

Array
{
[0] => contenu de la page 1
[1] => contenu de la page 2
[2] => contenu de la page 3
}



Par contre, j'ai pas bien compris l'histoire du pointeur et de la session
 :

$aArticle et $_SESSION[$aArticle][$pointeur] tout ça c'est pas bien clair. Vous pouvoir réexpliquer ou donner exemple ?

Merci, je commence à voir un peu plus clair !

PS : ?page=$pointeurNext   ça c'est pour savoir vers quelle page sauter, c'est bien ça ?
Messages postés
34
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
11 mai 2007

up !