Salut,
Après m'avoir cassé la tête tout le soir, j'ai réussi a faire une
boucle qui exclue les articles qui sont traduction d'autres, sans
cacher ceux qui n'ont pas de traduction. En fait ce n'est pas si
compliqué que ça, quand on le voit fini. Mais pour y arriver !
Alors dans l'euphorie (peut être injustifiée) je partage ma
trouvaille. Voici le code simplifié:
<BOUCLE_articles_originales(ARTICLES) {origine_traduction}>
<BOUCLE_articles_trad(ARTICLES) {traduction} {exclus} {doublons}>
</BOUCLE_articles_trad>
</BOUCLE_articles_originales>
<BOUCLE_articles_recents(ARTICLES) {par date} {inverse} {doublons}>
#TITRE etc
</BOUCLE_articles_recents>
Il y a d'autres solutions, mais ceci permet de garder l'ordre chronologique.
J'espère que ça peut servir quelqu'un. Quand on a quatre ou plus
versions de certains articles, c'est plutôt nécessaire pour un liste
des nouveautés un peu propre.
Et maintenant une question, par curiosité : je vois que dans la table
xxx_articles il y a un champ id_trad, qui est 0 quand il n'y a pas de
traduction, qui est égal à id_article quand c'est l'article de
réference, et qui est l'id_article de l'article de réference quand on
a affaire à une traduction.
Bon, j'ai essayé infructueusement d'utiliser #ID_TRAD dans des
conditions PHP. Ça ne retourne pas le valeur gardé dans la table. En
fait ça ne retourne rien, il me semble, sauf « #ID_TRAD » tel quel
comme chaine de charactères. Par contre on peut bien faire un boucle
articles avec le critère {id_trad=0}, qui donne touts les articles non
traduits (ou {id_trad!=0}, identique a {traductions}).
Est-ce que il y a des champs dans les tables SPIP qui ne sont pas
accésibles au PHP ? Si oui, je trouve ça dommage, bien que à la fin on
réussit avec du pur SPIP. On peut pas changer ça, peut être, pour
donner encore plus de flexibilité a cet outil mervelleux qui est SPIP
?
Merci pour les eclaircissements, et bonne nuit.
Germán.