TinyButStrong - the PHP Template Engine
Categories > Your tips & tricks >

[french] utilisation de mok dans les magnets

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

By: Jurvillier
Date: 2010-05-03
Time: 16:51

[french] utilisation de mok dans les magnets

Ces nouveautés sont excellentes et très simplificatrices, mais
je trouve que leur utilisation est loin d'être intuitive, et l'erreur de syntaxe aisée. Je vous propose ci dessous un exemple, où une variable est un message d'erreur, initialisée à 'vide' si aucune erreur.
//$err_mess='vrai message d''erreur';
$err_mess='vide';
On veut afficher un <h3> si et seulement si erreur, et sinon un div.
<h3>[onshow.err_mess;magnet=h3;ope=nif:vide]</h3>
<div>[onshow.err_mess; magnet=div; ope=mok:vide]
<p> Si err_mess vaut 'vide', mon div s'affiche, mais  pas le h3,<br />
       et si err_mess vaut autre chose, c'est le contraire qui se passe<br />
       la variable  err_mess doit toujours être instanciée</p>
</div>
Attention à ne mettre aucun blanc dans 'ope=mok:vide]'
'vide' est bien la chaîne de caractère à reconnaître, surtout ne pas l'entourer de quelconques cotes dans le template !
La variable err_mess ne s'affiche jamais dans le div.
Une variante, si l'on n'est pas sûr d'affecter la variable :
<h3>[onshow.varvide;magnet=h3;noerr]</h3>
<div>[onshow.varvide; magnet=div;ope=mok:;noerr]
<p> mon div s'affiche si varvide n'est pas instancié ou si chaine vide</p>
</div>
la syntaxe : 'ope=mok:;'   sans aucun blanc est à respecter. Elle signifie que le div s'affiche si le contenu de la var est vide ou inconnue.