J’ai appliqué bêtement la procédure : http://www.spip-contrib.net/spikini/PaginationAvancee
« saut » semble être une fonction Javascript, mais je n’y connais rien. Pour les %20, je n’en sais rien non plus … !
Voici mon code dans mes_fonctions.php3 :
/*
- ±---------------------------------+
- Nom du Filtre : pagination
- ±---------------------------------+
- Date : dimanche 22 août 2004
- Auteur : James (klikefree.fr)
- Modification : Julien Kirch (j.kirch-extlaposte.net)
- ±------------------------------------+
- Fonctions de ce filtre :
- affiche la liste des pages d’une boucle contenant
- un critère de limite du type {debut_xxx, yyy}
- ±------------------------------------+
- Pour toute suggestion, remarque, proposition d’ajout
- reportez-vous au forum de l’article :
- http://www.uzine.net/spip_contrib/article.php3?id_article=663
*/
function pagination_avancee($total, $position=0, $pas=1, $nbLiens=2){
global $clean_link;
global $pagination_separateur, $pagination_separateur_nombre, $pagination_separateur_proportion;
tester_variable(‹ pagination_separateur ›, ’ | ');
tester_variable(‹ pagination_separateur_nombre ›, ’ ‹ );
tester_variable(‹ pagination_separateur_proportion ›, ’ / ‹ );
if (ereg( ›^debut([-_a-zA-Z0-9]+)$ ›, $position, $match)) {
$debut_lim = « debut ».$match[1];
$position = intval($GLOBALS[‹ HTTP_GET_VARS ›][$debut_lim]);
}
$nombre_pages = floor( ($total-1)/$pas)+1;
$texte = « »;
$texte.=« »;
$texte.=« »;
$clean_link->delVar($debut_lim);
$texte.=« »;
$indicePageCourante = $position / $pas;
if($nombre_pages > 1) {
$i = 0;
while( $i < $nombre_pages ) {
$clean_link->delVar($debut_lim);
$clean_link->addVar($debut_lim, strval($i*$pas));
$url = $clean_link->getUrl();
if( abs($i - $indicePageCourante) <= $nbLiens ) {
$item = strval($i+1);
if($i != $indicePageCourante) {
$item = « ».$item.« »;
}
$texte.= $item;
if( ( $i < ($nombre_pages-1) ) && ( $i < ($indicePageCourante + $nbLiens ) ) ) {
$texte .= $pagination_separateur;
}
}
$i++;
}
$texte.= $pagination_separateur_nombre;
$texte.= « »;
$texte.= $pagination_separateur_proportion.$nombre_pages.« »;
//Correction bug: $clean_link doit revenir à son état initial
$clean_link->delVar($debut_lim);
if($position) $clean_link->addVar($debut_lim, $position);
return $texte;
}
return ‹ ›;
}
// FIN du Filtre pagination
Et voici ce que j’ai mis dans la balise head de sommaire.php3 :
Et cela donne ce que tu vois sur le site…
J’ai essayé de poster un message sur le forum de spip-contrib, mais impossible ! Le message disparait entre la prévisualisation et le postage. La malédiction de la pagination avancée ???
HL
----- Original Message -----
From: ADB
To: Hapax Legomen
Sent: Thursday, March 17, 2005 1:25 PM
Subject: Re: [Spip] Pagination avancée
Pourquoi as-tu %20 ? Et pourquoi pas d’extension à saut ? Existe-(t-il
au moins, saut ?
<http://www.accentgrave.org/<a%20href=http://saut>Javascript:saut(interwiki)</a>>()
ADB
Hapax Legomen a écrit :
Merci. C’était effectivement manquant. Mais cela ne marche toujours pas
et quelle que soit la page choisie, cela renvoie à la 404 :
http://www.accentgrave.org/<a%20href=http://saut>Javascript:saut(interwiki)</a
<http://www.accentgrave.org/<a%20href=http://saut>Javascript:saut(interwiki)</a>>()
…
Le Javascript flingue le processus apparement (et impossible de trouver
l’adresse du webmestre de remue.net sur lequel ce module fonctionne).
H
----- Original Message -----
From: Pierre Andrews <mailto:mortimer.pa@free.fr>
Newsgroups: gmane.comp.web.spip.user
Sent: Thursday, March 17, 2005 12:30 PM
Subject: Re: Pagination avancée
à priori, il manque:
<a href=
dans $texte, mais c’est peut être une erreur de frappe?
Pierre
Hapax Legomen wrote:
Merci, c’était ça. Maintenant, j’ai un autre blème qu’un bon en
Javascript pourra peut-être résoudre. Quand je remplit le formulaire,
cela ma renvoie sur une 404 avec une url non interprétée. Ma ligne de
code est :
$texte = « »;
mais si cela ne fait plus de Parse error, cela ne fonctionne pas
:-((. Catastrophe visible : http://www.accentgrave.org bas de page.
Essayer de choisir un numéro de page dans le formulaire.
Plus d’idées.
Glou glou glouuu… blblbllllll lll
H
------------------------------------------------------ Il faut que tu
« échappes » les " pour que cela devienne
$texte = « »;
ou bien les remplacer par ’
A priori c cela mais je ne suis pas un cador en prog ADB
----- Original Message ----- From: Hapax Legomen Newsgroups:
gmane.comp.web.spip.user Sent: Wednesday, March 16, 2005 8:50 PM
Subject: Pagination avancée
Bonjour,
J’ai essayé de mettre en place cette fonction de pagination avancée :
http://www.spip-contrib.net/spikini/PaginationAvancee
Mais j’ai une erreur :
Parse error: parse error, unexpected T_STRING in
/home2/eq33331/html/mes_fonctions.php3 on line 790
La ligne 790 étant :
$texte = « »;
Est-ce quelqu’un saurait ce qui ne va pas du point de vue de la
syntaxe dans cette ligne ? C’est celle donnée sur Spikini et ce
systeme de pagination fonctionne sur www.remue.net
<http://www.remue.net>. Je ne comprends
pas ce qui se passe et l’auteur ne répond pas. Merci d’avance pour
vos avis,
HL
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ