Bonjour,
Il y a ... longtemps, ESJ avais donné cette astuce :
un moyen d'associer un squelette à une rubrique à la fois par mots clés et prise en compte de l'arborescence des rubriques: meme pas besoin de redéfinir "chercher_squelette".
<BOUCLE2(HIERARCHIE){id_rubrique}{tout}{type='Squelette'}{inverse} {0,1}>
<BOUCLE3(MOTS){id_rubrique}{type='Squelette'}>
<INCLURE(page.php3){fond=(#TITRE|corriger_caracteres| translitteration>strtr{' ','_'})}>
....
avec un seul mot pour le groupe de mot "Squelette".
Suite à une question sur la liste utilisateur (http://permalink.gmane.org/gmane.comp.web.spip.user/159224), j'ai proposé :
<BOUCLE_RechercheDansHierarchie(HIERARCHIE){id_rubrique}{tout}{id_rubrique IN (25, 52)}{inverse} {0,1}>
Boucle qui doit bien sûr être incluse au milieu d'une boucle (RUBRIQUES){id_rubrique}
Mais ça donne une erreur MySQL :
Erreur SQL 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DESC, FIELD(rubriques.id_rubrique, 1,14,25,57) LIMIT 0,1' at line 5 SELECT rubriques.id_rubrique, rubriques.lang, rubriques.titre FROM `jardinsdebeauval`.spip_rubriques AS `rubriques` WHERE ((rubriques.id_rubrique IN (25,52))) AND (rubriques.id_rubrique IN (1,14,25,57)) ORDER BY FIELD(rubriques.id_rubrique,25,52), DESC, FIELD(rubriques.id_rubrique, 1,14,25,57) LIMIT 0,1
SELECT rubriques.id_rubrique, rubriques.lang, rubriques.titre FROM spip_rubriques AS `rubriques` WHERE ((rubriques.id_rubrique IN (25,52))) AND (rubriques.id_rubrique IN (1,14,25,57)) ORDER BY FIELD(rubriques.id_rubrique,25,52), DESC, FIELD(rubriques.id_rubrique, 1,14,25,57) LIMIT 0,1
Et ORDER BY FIELD(rubriques.id_rubrique,25,52) est effectivement fautif...
Est-ce un cas non prévus par le compilateur, mais qui devrait l'être ?
-- RealET