[spip-dev] bug ou pas bug de la SVN 12054 sur $exceptions_des_tables ?

Continuant à investiguer sur le pourquoi du plantage du plugin agenda en SVN, j'en suis arriver à la conclusion que c'est :
<BOUCLE_evenements(EVENEMENTS){id_rubrique}>
ou
<BOUCLE_evenements(EVENEMENTS){branche}> qui plante.

Pourtant, il y a bien dans le plugin :
global $exceptions_des_tables;
$exceptions_des_tables['evenements']['id_rubrique']=array('spip_articles', 'id_rubrique');

qui devrait dire au compilateur : avec une boucle sur les evenements qui fait appel à id_rubrique (valable aussi pour branche donc), il faut que tu fasses une jointure entre spip_evenements et spip_articles et que tu utilise spip_articles.id_rubrique

Mais ça ne marche pas :frowning:

Pour être précis, avec :
<BOUCLE_agenda(RUBRIQUES){racine}>
<h2>[(#TITRE)]</h2>
  <BOUCLE_evenements(EVENEMENTS){id_rubrique}>
#TITRE<br />
  </BOUCLE_evenements>
</BOUCLE_agenda>

j'ai :
Erreur(s) dans le squelette

1 Erreur sur le site boucle critère inconnu id_rubrique

Et la boucle evenements compile en :

2 SELECT evenements.titre, evenements.id_evenement
3 FROM spip_evenements AS `evenements`, spip_articles AS `articles`
4 WHERE (id_rubrique = 95)
5 AND (articles.id_article = evenements.id_article)
6 AND (articles.statut = "publie")
7 GROUP BY evenements.id_evenement

Ce qui semble bon

Et avec :
<BOUCLE_agenda(RUBRIQUES){racine}>
<h2>[(#TITRE)]</h2>
  <BOUCLE_evenements(EVENEMENTS){branche}>
#TITRE<br />
  </BOUCLE_evenements>
</BOUCLE_agenda>

J'ai plusieurs fois :
<BOUCLE_evenements>()
Erreur SQL
evenements.titre, evenements.id_evenement FROM spip_evenements AS `evenements`, spip_articles AS `articles` WHERE ((.id_rubrique IN (6,33,34,35,36,37,38,56,67,71,84,87,88))) AND (articles.id_article = evenements.id_article) AND (articles.statut = "publie") GROUP BY evenements.id_evenement
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 'IN (6,33,34,35,36,37,38,56,67,71,84,87,88))) AND (articles.id_article = eveneme' at line 3
</BOUCLE_evenements>

Et impossible de rentrer en mode debug.

* RealET tapuscrivait, le 13/07/2008 19:43:

Continuant à investiguer sur le pourquoi du plantage du plugin agenda en SVN, j'en suis arriver à la conclusion que c'est :
<BOUCLE_evenements(EVENEMENTS){id_rubrique}>
ou
<BOUCLE_evenements(EVENEMENTS){branche}> qui plante.

Pourtant, il y a bien dans le plugin :
global $exceptions_des_tables;
$exceptions_des_tables['evenements']['id_rubrique']=array('spip_articles', 'id_rubrique');

qui devrait dire au compilateur : avec une boucle sur les evenements qui fait appel à id_rubrique (valable aussi pour branche donc), il faut que tu fasses une jointure entre spip_evenements et spip_articles et que tu utilise spip_articles.id_rubrique

Et 12060 ne change rien à la donne.

S'lt

Juste pour dire que j'en ai profité pour rajouter l'explication de
$exceptions_des_tables; dans
http://doc.spip.org/@La-base-de-donnees,4391

Je vous laisse ajuster.

Km