Bonsoir,
Ce message est probablement destiné à Emmanuel, puisqu’il semble concerner le compilateur 1.8.1
(y aurait-il eu des modifs sur ces aspects depuis la 1.8.1 ?)
Résumé : J’ai du mal avec le critère calculé {tag==((PageArticle)#ID_ARTICLE$)} ; je ne sais plus comment l’écrire, je crois avoir essayé toutes les combinaisons (en mettant des parenthèse autour de )#ID_ARTICLE, en ajoutant un point entre les deux chaînes, etc.), alors que {tag==((PageArticle)4$)} donne le résultat qui convient, et que l’affichage de #ID_ARTICLE montre qu’il vaut bien 4…
Détails : Mes difficultés sont (assez) visibles sur la page http://marcdebeaumont.free.fr/article.php3?id_article=4 :
j’y ai fait afficher les valeurs calculées #ID_ARTICLE et des lignes supplémentaires pour faire des comparaisons.
A. La boucle est :
<BOUCLE_wiki11(WIKINI_PAGES) {tag==((PageArticle)#ID_ARTICLE$)} >
& Wiki :
</BOUCLE_wiki11>
Cette boucle affiche en effet dans le menu “in another language” 2 valeurs (liées à id_article=4 et 41)
2EN (art2 en vo = english) 4& Wiki : 21 July 4& Wiki : 21 July
au lieu d’une liée à id_article=4. (le 4 devant & correspond à l’affichage de contrôle de #ID_ARTICLE)
Alors que la boucle suivante, en remplaçant la balise #ID_ARTICLE par la (bonne) valeur 4
<BOUCLE_wiki1(WIKINI_PAGES) {tag==((PageArticle)4$)} >
donne toute satisfaction (une seule page Wiki mentionnée, à chacune des 2 lignes précédentes, sur la page :
- _2fr en->fr (art2 anglais traduit en français) & Wiki : 21 July (et on peut vérifier que le lien
- _2es en->es (art2 traducido en esp) & Wiki : 21 July est bien vers Pagearticle4)
puisque quand je fais <?php echo #ID_ARTICLE ?> j’obtiens bien la valeur 4 avant chaque impression (4 et 41)
B. Serait-ce lié au fait que TAG est un champ d’une table Wikini_ et non Spip ??
A toutes fins utiles je viens de déclarer dans mes_fonctions.php3 :
function boucle_WIKINI_PAGES($id_boucle, &$boucles) {
$boucle = &$boucles[$id_boucle];
$id_table = $boucle->id_table;
$boucle->from[] = “wikini_pages AS $id_table”;
return calculer_boucle($id_boucle, $boucles);
}
selon ce que j’ai compris de http://www.spip-contrib.net/spikini/AutreTableSpip
Aurais je fait une erreur à e niveau là ??
Toujours est-il qu’avec ou sans cette déclaration de fonction, j’obtiens exactement le même (dys)fonctionnement.
Merci bien, par avance,
Marc
PS. Je poste à la fois sur spip et spip-dev, puisque cela concerne les deux listes.
Et je n’ai pas trouvé sur les deux listes de messages sur ce thème.