Merci Perrine d’avoir regarder ce code.
[+entity,p,required||content,Nom de l'établissement||attribute,class="tam"+]
Oui en effet. cette syntaxe génére du code html dans le cas présent, il s’agit de la balise <p> (entity,p,required) :
<p class="tam">Nom de l'établissement <span>* < /span></p>
Le fait d’avoir indiquer ’required’ insère <span>* < /span> dans la balise.
[+entity,p||content,Nom de l'établissement||attribute,class="tam"+]
donne
<p class="tam">Nom de l'établissement </p>
En d’autre terme toute les balises du type <balise>...</balise> peuvent être prise dans le template.
Autre point le cas d’un champ :
[+field,text,required||attribute,id="field_cp"||attribute,name="cp"||attribute,size="5"||attribute,class="field text"||attribute,value=""+]
insère le code :
<input type="text" id="field_cp" name="cp" size="5" class="field text" value="" />
De plus ce champ est requis.
Plus fort, tu peux insérer un chunk dans les placeholders :
[+field,select||attribute,id="field_titre"||attribute,name="titre"||attribute,class="field select large"||{{option}}+]
avec dans ton chunk ’option’ :
<option value="Mr" selected="selected">Mr</option>
<option value="Mme">Mme</option>
<option value="Mlle">Mlle</option>
donne au final :
<select id="field_titre" name="titre" class="field select large">
<option value="Mr" selected="selected">Mr</option>
<option value="Mme">Mme</option>
<option value="Mlle">Mlle</option>
</select>
La logique est simple :
- entity génére des balises html de ton choix, field des champs de formulaire
- attribute correspond aux attributes de la balise donc insérer sans contrôle
tous ces éléments sont séparés par le délimiteur de ton choix ’||’ par défaut
dans chaque élément les termes sont séparés par le délimiteur de ton choix ’,’ par défaut
Pour ce qui est du fichier tpl : soit tu crée un chunk qui contient ce code, soit tu crée un fichier comme dans l’exemple (par defaut : contactForm.tpl)
Tu peux insérer tout les fichiers JS et CSS dans le header, dans ce cas l’appel du snippet devra se faire sans cache.
Tu peux tester le code. Il te permettra d’afficher ton chunk ou ton tpl.
Les points qui ne fonctionnent pas pour le moment est l’envoi de l’email et les tests des champs.
Voici la syntaxe de l’appel du snippet :
[[SendForm? &cssTpl=`assets/templates/.../contactForm.css` &jsTpl=`assets/js/wforms.js,assets/js/localization-francais.js` &to=`
[email protected]` &language=`french` &debug=`true`]]