<BOUCLE_syndic>(articles)
*Erreur MySQL*
SELECT articles.url, articles.titre, articles.url_site, articles.nom_site, articles.id_syndic_article, syndic.nom_site AS nom_site, syndic.url_site AS url_site FROM spip_syndic_articles AS articles, spip_syndic AS syndic WHERE NOT (syndic.id_syndic ='2') AND articles.id_syndic=syndic.id_syndic AND articles.statut='publie' AND syndic.statut='publie' ORDER BY articles.date DESC LIMIT 0,8
*Champ 'articles.url_site' inconnu dans field list*
</BOUCLE_syndic>
Il me semble que le champ recherché s'appelle url et pas url_site (en tout cas en 1.7.2).
En remplaçant URL_SITE et NOM_SITE respectivement par URL et NOM la boucle refonctionne (en fait pas pour NOM qui ne se remplit pas correctement mais en tout cas ça ne plante plus...).
Est il prévu une gestion des anciennes balises qui ne correspondent pas à des noms de colonnes dans la table ?
Le comportement général de la boucle est bon. C'est simplement que les balises SPIP de boucle "URL_SITE" et "NOM_SITE" ne sont pas reconnues correctement par le compilateur. Du coup le compilateur génère un code SQL en inventant des colonnes qui n'existent pas dans la base de données.
Le comportement général de la boucle est bon. C'est simplement que les balises SPIP de boucle "URL_SITE" et "NOM_SITE" ne sont pas reconnues correctement par le compilateur. Du coup le compilateur génère un code SQL en inventant des colonnes qui n'existent pas dans la base de données.
J'avais mal posé ma question: la table syndic_articles ne contient pas de champ nommé
'url_site' ni de champ nommé 'nom_site', et du coup je ne sais pas à quoi le compilateur
doit faire correspondre #URL_SITE et #NOM_SITE dans une boucle syndic_article.
<BOUCLE_syndic(SYNDIC_ARTICLES) {par date}{inverse} {id_syndic!=2} {0,8}>
- <a href="#URL_ARTICLE">#TITRE</a> <a href="#URL_SITE"><span class="petit">(#NOM_SITE)</span></a><br>
</BOUCLE_syndic>
Il me semble que le champ recherché s'appelle url et pas url_site (en tout cas en 1.7.2).
En remplaçant URL_SITE et NOM_SITE respectivement par URL et NOM la boucle refonctionne (en fait pas pour NOM qui ne se remplit pas correctement mais en tout cas ça ne plante plus...).
Je suis un peu perdu dans les spec 1.7 / 1.7.2 quel est le comportement souhaité au jour d'aujourd'hui pour ce type de boucle ?
>Le comportement général de la boucle est bon. C'est simplement que les
>balises SPIP de boucle "URL_SITE" et "NOM_SITE" ne sont pas reconnues
>correctement par le compilateur. Du coup le compilateur génère un code
>SQL en inventant des colonnes qui n'existent pas dans la base de
>données.
URL_SITE et NOM_SITE sont les URL et NOM du site (SYNDIC) auquel appartient
l'article syndiqué. Il y a une jointure.
Bon, je viens de commettre une nouvelle version gérant ces champs.
En fait, il y avait un pb plus général sur les champs hors table de la boucle,
qui pourrait expliquer les interrogations de Jean-Luc sur le mail d'un auteur de Forum.
On retombe en fait sur la discussion de l'autre jour: j'ai essayé de regrouper les champs
dans des tableaux avec un algorithme de recherche générique, mais certains tableaux sont si
petits que c'est une peu forcé.
J'espère que je n'ai rien oublié ce que coup-ci (j'ai aussi corrigé un bug dans le IN).