Bon en combinant 2 contrib on y arrive. Donc pour ceux qui cherchent comment faire :
-- dans mes_fonctions.php :
<?php
//squelettes/mes_fonctions.php
//extrait la première lettre et la passe en majuscules
function lastfirstletter($texte) {
$texte = $texte{0}; // première lettre
// remplacement des caractères accentués
// exemple trouvé la:
// PHP: strtr - Manual
$texte = strtr($texte, "\xA1\xAA\xBA\xBF\xC0\xC1\xC2\xC3\xC5\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD8\xD9\xDA\xDB\xDD\xE0\xE1\xE2\xE3\xE5\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF8\xF9\xFA\xFB\xFD\xFF", "!ao?AAAAACEEEEIIIIDNOOOOOUUUYaaaaaceeeeiiiidnooooouuuyy");
$texte = strtr($texte, array("\xC4"=>"Ae", "\xC6"=>"AE", "\xD6"=>"Oe", "\xDC"=>"Ue", "\xDE"=>"TH", "\xDF"=>"ss", "\xE4"=>"ae", "\xE6"=>"ae", "\xF6"=>"oe", "\xFC"=>"ue", "\xFE"=>"th"));
$texte = strtoupper($texte); // tout en majuscules
//if($texte!='&')
return $texte;
}
?>
-- dans le squelette :
<BOUCLE_tot(SIGNATURES){id_article}>
</BOUCLE_tot>
<?php
$l=[(#ENV{lettre,a})];
//liste des lettres de l'alphabet...
for ($i=ord("a");$i<=ord("z");$i++){
echo (($l !=chr($i)) ? ('<a href="#URL_PAGE{signatures,id_article=#ID_ARTICLE&lettre='.chr($i).'"><strong>'.mb_strtoupper(chr($i)).'</strong></a>') : mb_strtoupper(chr($i)));
echo " ";
}
?>
</B_tot>
<BOUCLE_listalpha (SIGNATURES){par nom_email}{tout}>
[(#SET{beginby[(#NOM|lastfirstletter)],[(#GET{beginby[(#NOM|lastfirstletter)]}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_SIGNATURE}})]})]
[<a href="[(#SELF|parametre_url{lettre,[(#NOM|lastfirstletter)]})]" [(#NOM|lastfirstletter|=={[(#ENV{lettre,a})]}|?{class='on'})]>(#NOM|lastfirstletter|unique)</a> ]
</BOUCLE_listalpha>
<BOUCLE_signatures_alpha(SIGNATURES) {nom_email==^#ENV{lettre,a}} {par nom_email}>[(#NOM)]<br />
</BOUCLE_signatures_alpha>
Alexandre Wattiez a écrit :
[SPIP 1.9.2d]
Salut,
Plutôt que d'utiliser la pagination classique par nombre de pages (1 | 2 | ...), je souhaiterais classer les signatures d'un article par ordre alphabétique (ça je sais faire !) avec une pagination de type A | B | C | ... Mais comment faire ? Existe-t-il un modèle de pagination de ce type quelque part ?
Alexandre
________________________________________________________________
Ce message, ainsi que les pièces jointes, sont établis, sous la seule responsabilité de l'expéditeur, à l'intention exclusive de ses destinataires ; ils peuvent contenir des informations confidentielles. Toute publication, utilisation ou diffusion doit être autorisée préalablement. Ce message a fait l'objet d'un traitement anti-virus.
Il est rappelé que tout message électronique est susceptible d'altération au cours de son acheminement sur Internet. ________________________________________________________________
Vous pouvez consulter le site de l'Assemblée nationale à l'adresse suivante : http://www.assemblee-nationale.fr
_______________________________________________
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 ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip
________________________________________________________________
Ce message, ainsi que les pièces jointes, sont établis, sous la seule responsabilité de l'expéditeur, à l'intention exclusive de ses destinataires ; ils peuvent contenir des informations confidentielles. Toute publication, utilisation ou diffusion doit être autorisée préalablement. Ce message a fait l'objet d'un traitement anti-virus.
Il est rappelé que tout message électronique est susceptible d'altération au cours de son acheminement sur Internet. ________________________________________________________________
Vous pouvez consulter le site de l'Assemblée nationale à l'adresse suivante : http://www.assemblee-nationale.fr