Moyen d'afficher les rubriques autrement que par ordre alphabétique ?

Bonjour !
Je suis nouveau SPIP. J’utilise la 1.9.2. Et le squelette fourni avec. Connaitriez-vous un moyen d’afficher les rubriques dans un ordre différent que l’ordre alphabétique ?
Merci de votre aide !


Ne gardez plus qu’une seule adresse mail ! Copiez vos mails vers Yahoo! Mail

Titre des rubriques sous la forme par exemple :
010. Titre (ne pas oublier le « point » et l’espace)
Dans ta boucle tu utilise le critère {par num titre} au lieu de {par titre} ou {par date}
Et dans l’affichage
[(#TITRE|supprimer_numero)]
Ca marche aussi avec les articles

Habile :
Donner des titres sous la forme 010. puis 020. puis 030. au lieu de 1. 2. 3.
De cette façon tu garde de la place pour intercaler des rubriques ou des articles.

Tonton BP

Christian a écrit :

Christian a écrit :

Bonjour !
Je suis nouveau SPIP. J'utilise la 1.9.2. Et le squelette fourni avec. Connaitriez-vous un moyen d'afficher les rubriques dans un ordre différent que l'ordre alphabétique ?
Merci de votre aide !

------------------------------------------------------------------------

<BOUCLE_maboucle(RUBRIQUES){par date}>

ou encore {par hasard}, etc ...

Lire dans la doc :
- Les critères communs à toutes les boucles : Les critères communs à toutes les boucles - SPIP
- La boucle RUBRIQUES : La boucle RUBRIQUES - SPIP

--
Mathilde
http://desmareesmontantes.free.fr

"L'homme n'est pas une marchandise comme les autres." Nicolas Sarkozy, 9 novembre 2006, Saint Etienne

Bernard-Paul Eminet a écrit :

Titre des rubriques sous la forme par exemple :
010. Titre (ne pas oublier le "point" et l'espace)

10. Titre suffit (pas besoin du 0 devant)

Stephane a écrit :

Bernard-Paul Eminet a écrit :
  
Titre des rubriques sous la forme par exemple  :
010. Titre (ne pas oublier le "point" et l'espace)
    

10. Titre suffit (pas besoin du 0 devant)

  

Tu as raison mais 10, 20, 30 etc ne permet ainsi que d’avoir « que » 10 articles dans la rubrique si on désire garder 10 places possible entre chaque article.
010, 020, 030 permet d’en avoir 100.
C’est plus de la méthodo pour conserver une cohérence dans le site le jour où on s’aperçoit qu’une rubrique nécessite plus de 10 articles, sinon il faut renommer tous les titre pour conserver une cohérence des titres.
Ok c’est un détail mais qui permet d’éviter des questions des rédacteurs qui sont souvent des spécialistes de la question à 10 francs…
« Mais pourquoi dans la rubrique x les titres comportent 3 chiffres alors que dans la rubrique y il n’y en a que 2 ?? »

Tonton BP

Bernard-Paul Eminet a écrit :

Stephane a écrit :

Bernard-Paul Eminet a écrit :
  

Titre des rubriques sous la forme par exemple :
010. Titre (ne pas oublier le "point" et l'espace)
    
10. Titre suffit (pas besoin du 0 devant)

Tu as raison mais 10, 20, 30 etc ne permet ainsi que d'avoir "que" 10 articles dans la rubrique si on désire garder 10 places possible entre chaque article.
010, 020, 030 permet d'en avoir 100.

???
tu m'expliques ?

de toutes facons, pour {par num titre} 010. et 10. , c'est pareil.

C'est plus de la méthodo pour conserver une cohérence dans le site le jour où on s'aperçoit qu'une rubrique nécessite plus de 10 articles, sinon il faut renommer tous les titre pour conserver une cohérence des titres.

une coherence entre les numeros de rubrique et d'article ?
pour quoi faire ?

Ok c'est un détail mais qui permet d'éviter des questions des rédacteurs qui sont souvent des spécialistes de la question à 10 francs....
"Mais pourquoi dans la rubrique x les titres comportent 3 chiffres alors que dans la rubrique y il n'y en a que 2 ??"

si ce sont les redacteurs qui choisissent l'ordre des articles, ca doit etre joyeux...
En general, le numero, c'est l'admin qui l'attribut avant de publier, non ?

@++

Bernard-Paul Eminet a écrit :

Stephane a écrit :

Bernard-Paul Eminet a écrit :
  

Titre des rubriques sous la forme par exemple :
010. Titre (ne pas oublier le "point" et l'espace)
    
10. Titre suffit (pas besoin du 0 devant)

Tu as raison mais 10, 20, 30 etc ne permet ainsi que d'avoir "que" 10 articles dans la rubrique si on désire garder 10 places possible entre chaque article.
010, 020, 030 permet d'en avoir 100.
C'est plus de la méthodo pour conserver une cohérence dans le site le jour où on s'aperçoit qu'une rubrique nécessite plus de 10 articles, sinon il faut renommer tous les titre pour conserver une cohérence des titres.
Ok c'est un détail mais qui permet d'éviter des questions des rédacteurs qui sont souvent des spécialistes de la question à 10 francs....
"Mais pourquoi dans la rubrique x les titres comportent 3 chiffres alors que dans la rubrique y il n'y en a que 2 ??"

Tonton BP
------------------------------------------------------------------------

Bonjour

J'enchaine sur ce sujet .... avec une question que j'ai envie de poser depuis longtemps.
Pour utiliser le système ci-dessus, quelle modif a-t-il été nécessaire de faire ?

Moi je voudrais pouvoir numéroter mes rubriques et sous rubriques ainsi :
  a. rubrique
    01-2006. sous rubrique
    02-2006. sous rubrique
    01-2007. sous rubrique
    03-2007. sous rubrique
  b. rubrique

etc.

Y a-t-il un moyen pour que les a. , 01-2006, 02-2006, 01-2007 .... n'apparaissent pas ?

Merci d'avance

B.Poiraud

b_poiraud <b_poiraud@yahoo.fr> wrote:

Bonjour

J'enchaine sur ce sujet .... avec une question que j'ai envie de poser
depuis longtemps. Pour utiliser le système ci-dessus, quelle modif a-t-il
été nécessaire de faire ?

Moi je voudrais pouvoir numéroter mes rubriques et sous rubriques ainsi :
a. rubrique 01-2006. sous rubrique 02-2006. sous rubrique 01-2007. sous
rubrique 01-2007. sous rubrique 03-2007. sous rubrique b. rubrique

etc.

Y a-t-il un moyen pour que les a. , 01-2006, 02-2006, 01-2007 ....
n'apparaissent pas ?

Tu peux te faire un filtre maison pour cela, mais je mettrais pour ma
part les dates dans l'ordre annee-mois pour avoir le tri alphabetique
correct

dans mes_fonctions.php tu définis une fonction supprime_annee_mois (par
exemple) qui supprime le début avec une expresion rationnelle du type

function supprime_annee_mois($texte) {
   $texte = preg_replace('/^[0-9]*\-[0-9]*\. /', '', $texte);
   return $texte;
}

qui fonctionnera pour tout préfixe du type
xxxxx-yyyyy. que tu le mettes dans l'ordre annee-mois ou mois-annee et
que tu invoques dans ton squelette par
(#TITRE|supprime_annee_mois)

--
http://wojylac.free.fr
Un proverbe chinois dit que lorsqu'on a rien à dire
on cite généralement un proverbe chinois.

Dominique a écrit :

b_poiraud <b_poiraud@yahoo.fr> wrote:

Bonjour

J'enchaine sur ce sujet .... avec une question que j'ai envie de poser
depuis longtemps. Pour utiliser le système ci-dessus, quelle modif a-t-il
été nécessaire de faire ?

Moi je voudrais pouvoir numéroter mes rubriques et sous rubriques ainsi :
a. rubrique 01-2006. sous rubrique 02-2006. sous rubrique 01-2007. sous
rubrique 01-2007. sous rubrique 03-2007. sous rubrique b. rubrique

etc.

Y a-t-il un moyen pour que les a. , 01-2006, 02-2006, 01-2007 ....
n'apparaissent pas ?
    
Tu peux te faire un filtre maison pour cela, mais je mettrais pour ma
part les dates dans l'ordre annee-mois pour avoir le tri alphabetique
correct

dans mes_fonctions.php tu définis une fonction supprime_annee_mois (par
exemple) qui supprime le début avec une expresion rationnelle du type

function supprime_annee_mois($texte) {
   $texte = preg_replace('/^[0-9]*\-[0-9]*\. /', '', $texte);
   return $texte;
}

qui fonctionnera pour tout préfixe du type
xxxxx-yyyyy. que tu le mettes dans l'ordre annee-mois ou mois-annee et
que tu invoques dans ton squelette par
(#TITRE|supprime_annee_mois)

Merci, c'est ce que je cherchais.
Et en plus je commence à comprendre le système.

J'ai essayé :

function supprime_lettre($texte) {
   $texte = preg_replace('/^[a-d]\. /', '', $texte);
   return $texte;
}

pour supprimer les lettres devant :
    a. rubrique
    b. rubrique
    c. rubrique

ça ne marche pas.

J'ai essayé aussi :

function supprime_lettre($texte) {
   $texte = preg_replace('/^[a-d]. /', '', $texte);
   return $texte;
}

ça ne marche pas non plus

et j'ai pourtant mis [(#TITRE|supprime_lettre)] dans mon squelette.

Où est l'erreur ?

Merci

*

Merci
*

b.poiraud <b.poiraud@wanadoo.fr> wrote:

Merci, c'est ce que je cherchais.
Et en plus je commence à comprendre le système.

J'ai essayé :

function supprime_lettre($texte) {
   $texte = preg_replace('/^[a-d]\. /', '', $texte);
   return $texte;
}

pour supprimer les lettres devant :
    a. rubrique
    b. rubrique
    c. rubrique

ça ne marche pas.

J'ai essayé aussi :

function supprime_lettre($texte) {
   $texte = preg_replace('/^[a-d]. /', '', $texte);
   return $texte;
}

Non là le . indique "n'importe quel caractère" c'est pour cela qu'il
faut l'échapper par \ pour qu'il représente bien le caractère point.

ça ne marche pas non plus

et j'ai pourtant mis [(#TITRE|supprime_lettre)] dans mon squelette.

Où est l'erreur ?

Pourtant ta première expression rationnelle est correcte. Est-ce que ton
fichier php s'appelle bien "mes_fonctions.php" ? (pluriel,
tiret-bas,...). tu vides le cache, recalcule les pages

Finalement pour supprimer tout ce qui serait avant ". " il suffirait de
faire

function supprime_tout_devant($texte) {
   $texte = preg_replace('/^.*\. /i', '', $texte);
   return $texte;
}

cela règle tout tes cas...

Si tu veux te lancer dans les regexp, une bonne adresse :
http://www.expreg.com/
et la doc php

--
http://wojylac.free.fr
Un proverbe chinois dit que lorsqu'on a rien à dire
on cite généralement un proverbe chinois.

Dominique a écrit :

b.poiraud  wrote:

  
Merci, c'est ce que je cherchais.
Et en plus je commence à comprendre le système.

J'ai essayé :

function supprime_lettre($texte) {
   $texte = preg_replace('/^[a-d]\. /', '', $texte);
   return $texte;
}

pour supprimer les lettres devant :
    a. rubrique
    b. rubrique
    c. rubrique

ça ne marche pas.

J'ai essayé aussi :

function supprime_lettre($texte) {
   $texte = preg_replace('/^[a-d]. /', '', $texte);
   return $texte;
}
    
Non là le . indique "n'importe quel caractère" c'est pour cela qu'il
faut l'échapper par \ pour qu'il représente bien le caractère point.
  
ça ne marche pas non plus

et j'ai pourtant mis [(#TITRE|supprime_lettre)] dans mon squelette.

Où est l'erreur ?
    

Pourtant ta première expression rationnelle est correcte. Est-ce que ton
fichier php s'appelle bien "mes_fonctions.php" ? (pluriel,
tiret-bas,...). tu vides le cache, recalcule les pages

Finalement pour supprimer tout ce qui serait avant ". " il suffirait de
faire

function supprime_tout_devant($texte) {
   $texte = preg_replace('/^.*\. /i', '', $texte);
   return $texte;
}

cela règle tout tes cas...

Si tu veux te lancer dans les regexp, une bonne adresse :

et la doc php

  

Génial, merci, ça fonctionne
et cela va m’être très pratique
Merci aussi pou le lien : j’irai voir
mais ma comprenoire ne marche qu’au goutte à goutte !

Bonne fin de dimanche !

B.Poiraud

> Tu as raison mais 10, 20, 30 etc ne permet ainsi que
d'avoir "que" 10
> articles dans la rubrique si on désire garder 10 places
possible entre
> chaque article.
> 010, 020, 030 permet d'en avoir 100.

???
tu m'expliques ?

de toutes facons, pour {par num titre} 010. et 10. , c'est pareil.

Non, tonton BP a raison, Si on doit avoir beaucoup d'items, il vaut mieux
écrire 010. que 10., parce quand on arrivera au dixième élément, on va
écrire 100. dans le deux cas, mais on aura une drôle de surprise si le
éléments précédents n'ont que 2 chiffres...