Afin d’alléger le code que j’utilise pour mes tris alphabétiques, j’ai repris à la base ma contribution sur le tri alphabétique que j’ai panaché avec celle sur affectation automatique d’articles à une brève.
L’astuce, est de créer une série de brèves nommées A, B, C, etc. Dans le corps du texte je mets mes variantes diacritiqes et majuscules/minuscules.
Pour que cette contribution marche, il faut créer les brèves suivantes :
TITRE | TEXTE |
---|---|
A | aAæÆâÂäÄ |
B | bB |
C | cCçÇ |
D | dD |
E | eEéÉèÈêÊëË |
F | fF |
G | gG |
H | hH |
I | iIïÏîÎ |
J | jJ |
K | kK |
L | lL |
M | mM |
N | nNñÑ |
O | oOôÔöÖ |
P | pP |
Q | |
R | rR |
S | sS |
T | tT |
U | uUûÛüÜ |
V | vV |
W | wW |
X | xX |
Y | yYÿ |
Z | zZ |
Le titre des brèves sera utilisé comme titre de chaque section dans le tri des articles. Le texte contient la liste des lettres qui doivent être la première lettre du titre des articles a afficher dans cette section. Vous pouvons donc changer les sections et les tris en fonction de vos besoin en modifiant ces brèves.
Je peux mettre ma série de brèves dans une rubrique « Tris » ad hoc — ici la rubrique n° 14, si vous utilisez une autre rubrique, pensez bien à changer l’id_rubrique dans le code proposé — et leur garder un statut « brève proposée » pour que la rubrique ne s’affiche pas dans l’espace public. Cette base de brèves me permet d’appeler mon tri depuis n’importe où (rubrique, mot, article, site, etc.) et de l’utiliser plusieurs fois dans un même site.
<!-- Bloc de tri -->
<div align="justify">
<div align="center">
<BOUCLE_lettre_alpha(BREVES) {id_rubrique=14} {statut=prop} {", "}>
<a href="#anchor-[(#TITRE)]">#TITRE</a></BOUCLE_lettre_alpha>.</div>
<hr>
<div> <BOUCLE_titre_alpha(BREVES) {id_rubrique=14} {statut=prop} {par titre} {"<br>"}>
<B_article_alpha><strong>[<a name="anchor-(#_titre_alpha:TITRE)"></a>]#_titre_alpha:TITRE</strong><br>
<div><BOUCLE_article_alpha(ARTICLES){id_rubrique=1}{titre==^[#_titre_alpha:TEXTE]} {par titre} {" -"}>
<a href="#URL_ARTICLE">#TITRE</a>
</BOUCLE_article_alpha></div>
</B_article_alpha>
</BOUCLE_titre_alpha>
</div>
Il n’y a pas photo, pour le même résultat : un exemple visible était ici [1].
Discussions par date d’activité
7 discussions
Bonjour
Voici ma boucle, j’ai un phénomène assez étrange avec ce script,
a savoir tout les articles de la rubrique 22 commençant par P ou p
se retrouve dans tout les résultats.
A
- Anatole
- Patrick
- Patricia
B
- Patrick
- Patricia
C
- Patrick
- Patricia
D
- Dominique
- Daniel
- Patrick
- Patricia
Voici mon script :
bonjour,
je viens d’essayer ton code. Je n’ai pas ce problème chez moi. Peux-tu vérifier le contenu des champs de tes brèves, s’il n’y a pas un copié-collé qui est resté à parasiter un champ.
Répondre à ce message
Merci d’engager la discussion.
Je vais me faire plus précis sur la conception du site : dans les rubriques « notions » et « citations », les articles sont (seront) classés par sous rubriques, chacune reprenant un thème du programme (cf colonne de gauche). Mais je souhaiterais un article dans chacune de ces rubriques dans lequel soient classés par ordre alphabétique tous les articles qui y sont publiés (cf colonne de droite).
Je souhaiterais aussi classer par ordre alphabétiques les auteurs (article colonne de droite), par ailleurs classés par disciplines dans la rubrique « auteurs » (colonne de gauche)
Mais un site vaut mieux qu’un de long disours :
http://dico.fbses.webou.net/
(sur la page d’accueil apparaissent les 15 derniers articles, toutes rubriques confondues)
Il y aurait donc trois classements alphabétiques : pour les notions, les citations et les auteurs.
Je n’ai pas compris ds quel fichier (spip ? ou celui de mon squelette EGT ?) insérer votre boucle pour faire apparaître ces classements alphabétiques. D’ailleurs, puis-je bien les faire apparaître dans un article ?
Merci de votre réponse
FBSES
Répondre à ce message
Bonjour,
je suis nul de chez nul... malgré un site fourni :
http://fbses.webou.net/
J’aimerais maintenant créer un index de notions à l’adresse suivante : http://dico.fbses.webou.net/
Mais ... dans quel fichier copier votre boucle ?
Merci
bonjour,
je ne comprend pas exactement la question. S’agit-il de trier les titres sur la page de sommaire ?
Répondre à ce message
Bonjour, je voudrais faire la même chose mais avec les surtitres. Est-ce possible ?
Merci d’avance.
Répondre à ce message
j’ai un probleme avec l’expression reguliere :
le debug me donne :
ni ^ (qui prend le 1er caractere d’un mot) ni d’ailleurs [ ] (qui séparent les caracteres) ne sont pris en consideration
je suis sur spip 1.8.1 (les expressions regulieres sont utilisable avec 1.8)
je ne comprends pas. une idée ? merci
Je n’ai plus de version en 1.8 pour vérifier
peux-tu envoyer une adresse de la page, voir s’il n’y a pas autre chose qui parasite ?
Claude
Répondre à ce message
Bonjour,
D’abord bravo pour cette ingéniosité.
J’aime beaucoup cette contribution. Cependant, je me demande s’il est possible de faire en sotre que la rubrique ne soit pas définie dans la ligne (ici rubrique 1) et que ce système puisse s’adapter à un fichier rubrique.html.
merci d’avance.
Jolinard
bonjour,
il est possible de na pas définir la rubrique. Dans l’exemple, la rubrique 1 est celle dont je veux trier les articles. Je peux vouloir trier dans une ou d’autres ou toutes les rubriques ou la rubrique courante ou suivant d’autres critères (mots-clés etc.)
La contrib de départ est pour un site où il y a une rubrique plante une oiseaux, une mollusques, une papillons ... et d’autres à venir. Donc un tri rubrique plantes, un tri rubrique autres etc. avec la même série de brèves. Dans les faits d’autres rubriques ont d’autres systèmes de tri pour des raisons diverses. De plus, dans ce site, les tris ne sont pas forcément dans la rubrique de saisie des notices puisque les mêmes articles de la rubrique 1 sont affichées selon plusieurs critères dans au moins 4 rubriques différentes (elles-mêmes vides de tout article :)).
Dans ta demande, tu souhaiterais que la boucle de tri soit présente dans toutes les rubriques. C’est possible, bien sur, si c’est pertinent pour ton site. En principe, tu devrais remplacer
{id_rubrique=1} par {id_rubrique}
, en principe !claude
Bonjour,
merci de cette réponse. cependant c’est bien ce qui m’est venu à l’esprit dès le début mais du coup j’ai une page blanche. Mais je vais refaire des tests... Qui sait si j’ai fais une autre erreur...
Merci beaucoup
Jolinard
bonjour,
il faudrait au moins la boucle pour voir
claude
Fair enough...
la voilà :
La boucle est exactement la même si ce n’est que les breves sont en rubrique 22. Sinon, la partie qui pose problème est
qui ne fonctonctionne pas si je la remplace par id_rubrique.
J’espère que cela peut vous aider.
Merci encore et désolé pour mon manque d’attention.
Bien à vous.
Jolinard
héhé,
il y a un pataquès dans le nommage des boucles :
il y a un peu trop de B_article_alpha ; ça ressemble à des copiés-collés où le renommage n’est pas été terminé :)
ça ne va pas dire qu’il n’y aura plus de pb hein !
claude
Répondre à ce message
Bonjour
J’ai bien regardé votre exemple, il m’intéresse beaucoup mais il m’inquiète :
1) un mot de l’index doit-il renvoyer à un article et un seul ?
2) le contenu de l’index est-il modifiable ? ou automatique ? Peut-on ajouter des mots ou en retrancher ?
3) comment faire pour qu’un mot de l’index renvoie à plusieurs articles, comme dans un livre où, à la fin, un mot de l’index renvoie à plusieurs pages. Par exemple, dans mon site, j’ai l’expression « plateforme de services » et j’aimerais que cela renvoie à tous les articles où j’en ai parlé. Même chose pour le mot « bowling », etc.
Est-ce trop compliqué ? Merci d’avance
B.Poiraud - http://www.journal-la-mee.info
Bonjour,
c’est la question qui est compliquée.
il y a deux choses.
cette contrib qui permet, avec un jeu de 26 brèves de se crer plusieurs index de classement dans un site. J’ai écrit une autre contrib de ce genre où l’on classe donc soit par ordre alpha sur une page soit avec une page par lettre. Il y a aussi une très bonne variante (ici), beaucoup plus simple à écrire et à modifier mais avec les mêmes restrictions en utf8.
la seconde chose c’est créer un index d’expressions prises dans un texte. Il y a la possibilité de rajouter des mots-clés chaque fois qu’un article cite les mots ou expressions voulues. Ceci à chaque création d’article mais bonjour les modifications. Il existe aussi une contribution pour créer un glossaire :
un autre solution si tu veux un système automatique : créer un groupe de mots-clés par exemple (ou de brèves, d’aricles). Tu y ajoute chaque mot ou expression en titre. Dans un squelette tu mets une boucle (à modifier, détourner et déformer) du genre :
cette boucle me liste l’ensemble des articles d’une autre rubrique où le titre de mon article (ici c’est un article.html, mais ce pourrait être un mot.html ou brève.html) apparait — tel quel — dans la zone texte. Ainsi, si mon article se nomme « plateforme de services », alors il va lister tous les articles de la rubrique 16 où est saisi cette expression. Qu’il y ait des majuscules, des minuscules ou des mélanges, il reconnait l’expression. Celà est d’ailleurs un problème pour moi. AInsi si je cherche « Aurinia », il me ressort aussi « Pseudaurinia » alors que si je pouvais différencier majuscules et minuscules ce problème n’apparaitrait plus. J’aurais toutefois « aurinia » qui trouverait les articles avec « Pseudaurinia ».
On a là, la limitation habituelle de l’indexation automatique (ou robotisés) par rapport à l’indexation humaine avec des mots-clés, plus longue mais plus efficace dans beaucoup de recherches (pas toutes, hein !). Tu devrais pouvoir tricher en entourant tes expressions par des astériques (ou plutôt un autre caractère qui ne pas perturber les critères entre accolades). Mais, c’est pareil, c’est surtout utile à la saisie pas rétrospectivement sur un fonds important d’articles.
Il doit y avoir d’autres astuces.
bon courage d’abord pour éclaircir ma prose
Claude
Merci, je vais essayer de comprendre ... mais il me faut beaucoup de temps.
Quand j’aurai trouvé, je le dirai.
Merci d’avoir répondu de façon détaillée.
B.Poiraud
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |