Salut Raphaël,
Tu pourras voir un exemple de ce fonctionnement à la page:
http://www.uzine.net/forumrub-91.html
(cela découpe des forums par paquets de 10 threads).
Ca n’est pas du tout évident, car cela fait appel à un peu de PHP pour afficher les liens entre les pages.
(1) Tout d’abord, il y a la boucle d’affichage avec un début décalé (ça ne commence pas forcément à zéro):
<BOUCLE_Forums(FORUMS){id_rubrique}{debut_forums,10}{par date}{inverse}>
La boucle affiche donc les valeurs comprises entre « debut_forums » (une variable passée en URL) et les 10 suivantes. Tu peux choisir n’importe quelle variable pour tes propres boucles, du moment qu’elle commence par « debut… ».
(2) Ensuite la difficulté consiste à créer les liens entre ces différentes « parties » de la liste, donc un affichage du genre [0-10] [11-20]… Là il faut un peu de PHP:
<?
<BOUCLE_compt_signatures(FORUMS){id_rubrique}>
$numero=#COMPTEUR_BOUCLE-1;
$total=#TOTAL_BOUCLE;
if (floor($numero/10)==$numero/10 AND $total>10){
echo "[<A HREF='forum.php3?id_rubrique=#ID_RUBRIQUE&debut_forums=$numero'>".($numero+1)."</A>] ";
}
</BOUCLE_compt_signatures>
?>
#TOTAL_BOUCLE est le nombre total de résultats dans la boucle.
#COMTEUR_BOUCLE est le compteur de la boucle (de un à #TOTAL_BOUCLE).
La ligne if (floor($numero/10) == $numero/10 … permet simplement de savoir qu’on a un numéro de boucle multime de 10, donc de faire l’affichage d’un lien hypertexte vers la même page, avec un « debut_forum » décalé de 10 à chaque fois (et là je me rends compte que j’ai mis « forum.php3 », alors que c’est « forumrub.php3 »…)
ARNO*
At 19:57 +0200 23/10/01, Raphaël Meyssan wrote:
Bonjour,
Je souhaite afficher les articles contenu dans mes rubriques par listes de
30 ou 50 (et non tous les articles d’une rubrique).
J’ai repéré le critère {debut_…,b} expliqué succintement dans le manuel de
référence :
[uZine 3] Les critères communs à toutes les boucles
J’ai aussi trouvé un message sur la liste, expliquant à nouveau comment
afficher la liste (pour les signatures d’une pétition).
Mais je ne trouve pas comment proposer de passer d’une page à une autre. Par
exemple consulter les articles 50 à 100, comme cela est fait dans
l’administration (mais directement en PHP). Quel est le code de SPIP
correspondant ?
Merci de votre réponse.
Raphaël
spip mailing list
spip@rezo.net
http://listes.rezo.net/mailman/listinfo/spip
Le Scarabée : http://www.scarabee.com
uZine 2 : http://www.uzine.net
DH/DSS, 0x11930F0B, DEEB 602D B344 644B AF88 BF73 85F4 2297 1193 0F0B