Salut,
Meu non, c'est pas fastidieux. Tu verras quand tu auras chopé le truc...
Tu dois faire le LoadTemplate() avant le MergeField(), sinon il fusionne du vide.
Tu dois confondre avec un autre sytème du genre Smarty qui fait d'abord une assignation, puis un affichage. Avec TBS, l'opération est faite immédiatement.
Autres remarques :
- [b1.GLOBALS.quest] pourait être codé [var.quest]
- "block=span" est ignoré car tu fais un MergeField() et non pas un MergeBlock(). Si tu demande de fusionner un champ, son paramètre de block n'est pas analysé. De même "ondata=ajout" est ignoré puisqu'il n'y a aucun traitement de bloc.
- ta fonction addquest() modifie $Enreg comme un entier alors que TBS fournie un Array.
Voici ce que tu peux faire pour implémenter un compteur dans ton modèle :
Le script :
function f_incr ($FieldName,&$CurrVal) {
// syntaxe pour une fonction onformat
$GLOBALS['quest']++;
$CurrVal = $GLOBALS['quest'];
}
...
$TBS->LoadTemplate('fichier.htm');
...
$TBS->Show();
|
le modèle :
span>[var.quest;onformat=f_incr]</span>
|
On peut remarquer que [var.quest;onformat=f_incr] peut être remplacé par n'importe quel champ car la fonction f_incr() force sa valeur. Notament, tu peux faire un [onload;onformat=f_incr] qui aura pour effet d'avoir ces champs fusionnés pendant le LoadTemplate() eu lieu de pendant le Show(). Ce dernier étant le déclancheur de la fusion des champs var.