Les balises conditionnelles [b:if / b:elseif / b:else]

Nous vous rappelons que lorsque vous accédez à ce blog, vous signez automatiquement un accord avec Blogger Code.
Consultez les CGU.


Blogger - Les balises conditionnelles [b:if / b:elseif / b:else]
Les balises conditionnelles <b:if>, <b:elseif> et <b:else> sont des instructions qui permettent d’exécuter ou non un bloc de codes dans l'éditeur XML de Blogger.


Les syntaxes

b:if
<b:if cond='CONDITION'>
  <!-- block of code to be executed if the condition is true -->
</b:if>

b:if / b:else
<b:if cond='CONDITION'>
  <!-- block of code to be executed if the condition is true -->
  <b:else/>
  <!-- block of code to be executed if the condition is false -->
</b:if>

b:if / b:elseif
<b:if cond='CONDITION1'>
  <!-- block of code to be executed if the condition1 is true -->
<b:elseif cond='CONDITION2'/>
  <!-- block of code to be executed if the condition1 is false and condition2 is true -->
</b:if>

b:if / b:elseif / b:else
<b:if cond='CONDITION1'>
  <!-- block of code to be executed if the condition1 is true -->
  <b:elseif cond='CONDITION2'/>
  <!-- block of code to be executed if the condition1 is false and condition2 is true -->
  <b:else/>
  <!-- block of code to be executed if the condition1 is false and condition2 is false -->
</b:if>

  • Les balises <b:if>, <b:elseif> et <b:else> travaillent dans l'ensemble du code XML, excepté dans la balise <b:skin>.
  • Plusieurs balises <b:if> peuvent s'imbriquer.
  • Les balises <b:elseif> et <b:else> doivent être imbriquées dans une balise <b:if>.
  • L'usage des balises <b:elseif> et <b:else> n'est pas obligatoire.
  • La balise <b:elseif> peut être utilisée plusieurs fois dans une balise <b:if>.
  • La balise <b:else> ne peut être utilisée qu'une seule fois dans une balise <b:if>. Si <b:if> contient une ou plusieurs balises <b:elseif>, la balise <b:else> devra être la dernière balise conditionnelle à être mentionnée.


Les attributs des balises <b:if> et <b:elseif>

A l'exception de la balise <b:else>, les balises <b:if> et <b:elseif> doivent être dotées de l'attribut cond.

<b:if cond='CONDITION1'>

  <b:elseif cond='CONDITION2'/>

  <b:else/>

</b:if>

Balises Attributs Classification Préfixe "expr:" Signification -
<b:if> cond XML Blogger Expression autorisé Condition d'exécution du contenu.
La valeur attendue doit être boolean (true ou false). Elle peut être une valeur explicite, une donnée ou une expression Blogger. En savoir plus
Obligatoire
<b:elseif> Obligatoire


Quelques exemples

Avec des valeurs explicites
<b:if cond='true'>
  
</b:if>
Les valeurs true et false étant des booléens, une valeur explicite est autorisée.
Avec une donnée booléenne
<b:if cond='data:view.isPost'>
  
</b:if>
La donnée data:view.isPost est de type boolean (booléen). La valeur renvoie toujours true (vraie) ou false (fausse).
Avec une donnée string
<b:if cond='data:view.title'>
  
</b:if>
La donnée data:view.title est de type string (Chaîne de caractères). La valeur est vraie uniquement si la donnée renferme une valeur.
<b:if cond='data:view.type == "item"'>
  
</b:if>
La donnée data:view.type est intégrée dans une expression Blogger contenant l'opérateur de comparaison ==.
Le résultat de l'expression est vraie uniquement si la valeur de la donnée est égale à "item".
<b:if cond='data:view.search.label and data:view.isMobile'>
  
</b:if>
Les données data:view.search.label string et data:view.isMultipleItems boolean sont intégrées dans une expression Blogger contenant l'opérateur logique and.
Le résultat de l'expression est vraie uniquement :
  • si la donnée data:view.search.label renferme une valeur.
  • et si la donnée data:view.isMultipleItems renvoie une valeur vraie.
<b:if cond='data:view.search.label in ["Mes photos", "Mes vidéos"]'>
  
<b:elseif cond='data:view.search.label in ["Mes recettes", "Ma collection de chocolats"]'/>
  
<b:else/>
  
</b:if>
Dans la première condition, le résultat sera vrai, si data:view.search.label contient le terme Mes photos ou Mes vidéos.
Si la première condition est fausse, la seconde condition sera exécutée si data:view.search.label contient le terme Mes recettes ou Ma collection de chocolats.
<b:if cond='data:posts any (p => p.date.year == 2018)'>
  
<b:else/>
  
</b:if>
Le résultat sera vrai, si l'un des posts a été publié en 2018.


Les autres balises

Fiches populaires cette semaine

Facebook : Bouton partager [Share button]