Au premier affichage du formulaire, ma boucle tourne.
Au post du formulaire, j’ai auparavant coché une case qui fait que #ENV**{sections} contient un tableau dont la première valeur est un entier (5).
Et Spip me donne une erreur :
Unknown column 'L1.id_mot' in 'order clause'
SELECT articles.id_rubrique, articles.lang, articles.titre FROM spip_articles AS `articles` WHERE (articles.statut = 'publie') GROUP BY articles.id_article ORDER BY FIELD(L1.id_mot,5) LIMIT 0,12
En fait si j’appelle #ID_MOT à l’intérieur de la boucle, l’erreur n’apparaît pas.
L’erreur est parce que la boucle n’utilise pas la balise #ID_MOT qui doit être L1.id_mot dans la requête…
Il me semble avoir vu ce type de problème de génération SQL, mais je ne retrouve pas la solution.
Merci
Car alors le compilateur SPIP comprend qu’il a besoin de cette jointure.
Et sinon il semble se planter car c’est un critère conditionnel et qu’il n’y a pas toujours besoin de cette jointure.
J’ai ajouté le problème décrit et la soluce sur https://contrib.spip.net/Difficultes-avec-jointures-et-solutions.