[SPIP Zone] Agenda 2, retour d'expérience et bugs

Bonjour,

Si je crée plusieurs événements à la suite sur un même article, quand j'enregistre, il me ramène à l'article avec en paramètre l'id de l'événement créé : ecrire/?exec=articles&id_evenement=4&id_article=3
Du coup, la page n'affiche qu'un événement et j'ai cru à un bug jusqu'à ce que je lise l'URL et comprenne que c'était volontaire de n'afficher que l'événement venant d'être créé.
Intuitivement, j'avais anticipé que je verrais _tous_ les événements après avoir enregistré.

D'autre part :
- je crée un groupe de mots clefs affectables aux évenements
- je crée 3 mots clefs dans ce groupe
- je crée un article et le publie
- dans l'article, je crée 3 événements et leur affecte à l'un les 2 premiers mots clefs, au 2e, le 3e mot clef, et au 3e aucun
Je teste ensuite le squelette suivant :
<ul>
<BOUCLE_ListeMots(MOTS)>
<li>#TITRE
  <B_Evenements>
  <ul>
  <BOUCLE_Evenements(EVENEMENTS){id_mot}>
    <li>#TITRE</li>
  </BOUCLE_Evenements>
  </ul>
  </B_Evenements>
</li>
</BOUCLE_ListeMots>
</ul>

Objectif : lister les événements rattachés à tel ou tel mot clef.
Résultat :
Erreur sur le site boucle critère inconnu id_mot
2 <BOUCLE_Evenements>()
Erreur SQL
evenements.titre FROM spip_evenements AS `evenements`, spip_articles AS `articles` WHERE (id_mot = 1) AND (articles.id_article = evenements.id_article) AND (articles.statut = "publie")
Unknown column 'id_mot' in 'where clause'
</BOUCLE_Evenements>

Ceci marchait en 1.9 avec le plugin agenda pour SPIP 1.9

Dernière boucle cassée (il existe un mot clef mc1 relié à un événement) :
<BOUCLE_ListeEvenements(EVENEMENTS){titre_mot=mc1}>
  <li>#TITRE</li>
</BOUCLE_ListeEvenements>

Qui donne :
Erreur sur le site boucle critère inconnu titre
2 <BOUCLE_ListeEvenements>()
Erreur SQL
evenements.titre FROM spip_evenements AS `evenements`, spip_articles AS `articles` WHERE (titre = 'mc1') AND (articles.id_article = evenements.id_article) AND (articles.statut = "publie")
Column 'titre' in where clause is ambiguous
</BOUCLE_ListeEvenements>

--
RealET

* RealET tapuscrivait, le 30/10/2008 16:58:

Bonjour,

Si ça peut aider, en modifiant les boucles ainsi :

    <BOUCLE_Evenements(EVENEMENTS){id_mot}>

<BOUCLE_Evenements(MOTS_EVENEMENTS evenements){id_mot}>

<BOUCLE_ListeEvenements(EVENEMENTS){titre_mot=mc1}>

<BOUCLE_ListeEvenements(MOTS_EVENEMENTS mots evenements){titre_mot=mc1}>

ça marche !

--
RealET

Pour les bugs, si dans base/agenda_evenements.php je remet la ligne :
  $tables_principales['spip_evenements'] =
- array('field' => &$evenements, 'key' => &$evenements_key, 'join'=>array('id_article'=>'id_article'));
+ array('field' => &$evenements, 'key' => &$evenements_key);

comme elle était avant dans le plugin en 192, ça marche !

Par contre, le critère {branche} provoque avec le squelette :
<ul>
<BOUCLE_ListeSecteurs(RUBRIQUES){racine}>
<li>#TITRE
  <B_EvenementsSecteur>
  <ul>
  <BOUCLE_EvenementsSecteur(EVENEMENTS){branche}>
    <li>#TITRE</li>
  </BOUCLE_EvenementsSecteur>
  </ul>
  </B_EvenementsSecteur>
</li>
</BOUCLE_ListeSecteurs>
</ul>

<BOUCLE_EvenementsSecteur>()
Erreur SQL
evenements.titre FROM spip_evenements AS `evenements`, spip_articles AS `articles` WHERE ((.id_rubrique IN (1))) AND (articles.id_article = evenements.id_article) AND (articles.statut = "publie")
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 (1))) AND (articles.id_article = evenements.id_article) AND (articles.statu' at line 3
</BOUCLE_EvenementsSecteur>

--
RealET

Tous les bugs signalés ici sont corrigés par http://zone.spip.org/trac/spip-zone/changeset/23811

--
RealET

ben oui, faisons une jointure entre des elephants et des chaussettes, si ca marche sans comprendre c'est pas grave, on cherchera des heures le bug que ca provoque une autre fois.
merci de réserver ces recettes de marabout a tes plugins...

Cédric

Le 30 oct. 08 à 21:13, RealET a écrit :

Tous les bugs signalés ici sont corrigés par Connexion · GitLab

--
RealET

_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

* cedric.morin@yterium.com tapuscrivait, le 31/10/2008 10:22:

ben oui, faisons une jointure entre des elephants et des chaussettes, si ca marche sans comprendre c'est pas grave, on cherchera des heures le bug que ca provoque une autre fois.

Merci pour Connexion · GitLab

merci de réserver ces recettes de marabout a tes plugins...

J'ai juste invoqué un démon puisque les prières de débug du 11/10/2008 n'avaient pas été entendues par le dieu (cf http://permalink.gmane.org/gmane.comp.web.spip.zone/10227 et http://permalink.gmane.org/gmane.comp.web.spip.zone/10226.

:wink:

Evidement, comme toute magie blanche, elle s'accompagne d'autres maux avec le bien qu'elle apporte...

Jacques

Cédric

Le 30 oct. 08 à 21:13, RealET a écrit :

Tous les bugs signalés ici sont corrigés par Connexion · GitLab

--
RealET

_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

--
RealET

cedric.morin@yterium.com a écrit :
> ben oui, faisons une jointure entre des elephants et des chaussettes, si
> ca marche sans comprendre c'est pas grave, on cherchera des heures le
> bug que ca provoque une autre fois.
> merci de réserver ces recettes de marabout a tes plugins...

Hé Cédric, ne réserve pas la courtoisie aux femmes,
sinon on pourrait finalement te considérer comme sexiste ! :wink:

JL