TinyButStrong - the PHP Template Engine
Categories > TinyButStrong general (FR) >

vérifier si variable existe

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs

By: loximose
Date: 2014-03-30
Time: 19:54

vérifier si variable existe

Bonjour,
petite question de débutant...
Je veux éxécuter une action (texte ou affichage de div) uniquement si une variable existe

j'ai essayer plusieurs combinaisons, et rechercher, mais impossible de trouver ..

quand je fais cela :
[onload;noerr;if [var.TEST]!=null;then 'ok';else 'q']

il m'affiche le resultat "q" (logique), mais il affiche quoiqu'il arrive une erreur TBS:

in field [var.TEST...]: the key 'TEST' does not exist or is not set in VarRef. (VarRef seems refers to $GLOBALS) This message can be cancelled using parameter 'noerr'.


comment faire pour, soit contourner le problème ( ne pas afficher le message), soit pour lui faire comprendre que cette variable peut ne pas exister..

merci !
By: Skrol29
Date: 2014-03-30
Time: 22:50

Re: vérifier si variable existe

Salut Loximose,

Du côté du modèle, il n'y a qu'un seul type de données : chaîne. Et c'est logique.
Les expressions, les égalités, sont vérifiées en tant que chaines. Une conversion implicite est effectuée si besoin.

Donc les expressions TBS ne feront pas la différence entre une valeur nulle, chaîne vide ou false.
Pour éviter le message d'erreur en cas de null (qui équivaut à une variable inexistante), tu peux utiliser le paramètre "noerr". Côté modèle, la valeur sera alors chaine vide.

Exemple :
[onload;if ''!='[var.TEST;noerr]';then 'ok';else 'q']