Index

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 :
{%  if champ %}


Quelques bouts de code à copier coller

Aucun résultat