Syntaxes twig pour afficher du contenu yeswiki
Un template twig permet de concevoir une structure de page en HTML et d'y intégrer des petits bouts de code dynamique.
2 syntaxes à connaitre pour débuter :
- {{ ... }} permet d'afficher la valeur d'une variable
- {% ... %} permet d'executer un traitement (condition, boucle, ...)
Au moment d'afficher le rendu d'une fiche bazar, vous disposez de deux objets disponibles au format JSON :
fiche et html
Dans
fiche sont stockées les valeurs brutes de chaque champ, c'est à dire lorsque c'est un champ de type liste, c'est l'index de la liste qui est stocké dans fiche.champ_liste
Dans
html on dispose de la valeur préformatée, pour notre liste on aura l'intitulé entier.
Pour afficher la valeur du champ bf_titre, vous pouvez écrire :
<h1>{{fiche.bf_titre}}</h1>
Pour un texte long :
{{html.bf_description|raw}}
Le contenu d'un champ texte long peut contenir des éléments de mise en forme, c'est pourquoi on affiche de préférence la valeur préformattée html.bf_description, en twig il faut ajouter |raw pour indiquer qu'il s'agit d'un code HTML à interpréter
Ajouter une condition
If ... Else ...
Vous avez la possibilité de tester la valeur d'un champ et de définir des options d'affichage.
{% if fiche.listeinscription == "obligatoire" %}
<p>L'inscription est obligatoire, merci de compléter le formulaire suivant : {{html.url_inscription}}</p>
{% else %}
<p> Entrée libre dans la limite des places disponibles.
{% endif %}
Notez la présence d'un double signe = pour tester :
{% if champ == "valeur" %}
Pour tester si la valeur est différente :
{% if champ != "valeur" %}
Pour tester si une valeur a été saisie :
Quelques bouts de code à copier coller