Demi résolution de #2111 pour la partie des balises :
quand le compilateur rencontre une * catch-all dans la description d'une boucle, au lieu de considérer comme acquis que la boucle fournira cette valeur, ce qui casse toutes les balises de facto, il considère qu'il ne sait pas et ne le saura qu'à l'execution. Il ajoute donc une condition isset($Pile[$SP])?... ) et continue à remonter la pile jusqu'à obetenir une fourniture sure de la balise comme valeur finale. Pour arriver à cela, on a modifié la signature de la fonction champ_sql qui prend en troisième argument le code par défaut à produire si aucune boucle ne fournit la balise. Si on ne fournit rien (ou pas une chaine), c'est $Pile[0][...] comme avant. Cela permet notamment aux balises calculées en concurence avec un champ sql de fournir leur code à utiliser (cas de la balise #URL_ et #INFO_) et par la même occasion, cela évite le code douteux qui consistait à regarder le résultat de champ_sql pour décider si on s'y fiait ou non. Avec ce commit, les balises fonctionnement à nouveau dans une boucle DATA comme dans toute autre. Il reste le cas des critères et jointures à règler.
Chargement en cours
Veuillez vous inscrire ou vous se connecter pour commenter