Comment utiliser les conditions si-sinon dans Blogger (if-else)
Ça fait quelque temps que je veux vous parler des conditions si/si non dans Blogger qui permettent d'afficher ou de cacher un contenu selon la page où est ce qu'on se trouve.

Comment ça marche
C'est très simple, on spécifie un condition et le contenu s'affichera seulement si cette condition est vrai, exemple :Si on se trouve dans la page d'accueil :On peut aussi utiliser un autre contenu qui s'affichera si la condition est fausse, grâce au Sinon :
Afficher bouton Facebook;
Fin si
Si on se trouve dans la page d'accueil :Au lieu d'utiliser Sinon on peut aussi utiliser une deuxième condition, exemple :
Afficher bouton facebook;
Sinon
Afficher bouton Twitter;
Fin si
Si on se trouve dans la page d'accueil :
Afficher bouton Facebook;
Fin si
Si on ne se trouve pas dans la page d'accueil :
Afficher bouton Twitter ;
Fin si
Le jargon Blogger
Si vous avez compris le mécanisme alors il suffit de remplacer les termes Si, Sinon, fin si ... par leur équivalents dans Blogger :| Terme en Français | Équivalent Blogger | |||
|---|---|---|---|---|
| Conditions Si...Sinon dans Blogger | ||||
| si | <b:if cond='La condition'> | |||
| Fin si | </b:if> | |||
| Sinon | <b:else/> | |||
| est égal | == | |||
| est différent | != | |||
Les différentes conditions possibles
Malheureusement on est très limité au niveau des possiblités et on ne peut pas faire des choses compliquées comme cibler le 3ième article de la page d'accueil ou cibler les articles avec un certain libellé.Voici la liste des conditions possibles dans Blogger que j'ai réunie en analysant le code HTML de Blogger, n'hésitez pas à laisser un commentaire pour nous signaler d'autres conditions :
Pour mieux comprendre la suite vous devez d'abord consulter ces deux articles
Cibler uniquement la page d'accueil
<b:if cond='data:blog.url == data:blog.homepageUrl'>
Le Premier article ou l'Article le plus récent
<b:if cond='data:post.isFirstPost'>
Les articles ou Items
<b:if cond='data:blog.pageType == "item"'>
Les pages statiques
<b:if cond='data:blog.pageType == "static_page"'>
Une adresse en particulier
Il suffit de spécifier l'adresse URL de la page dans la quelle vous voulez que le contenu s'affiche :<b:if cond='data:blog.url == "Adresse de la page avec le http://"'>
Les pages Index
<b:if cond='data:blog.pageType == "index"'>
Les Archives
<b:if cond='data:blog.pageType == "archive"'>
Page d'erreur 404
<b:if cond='data:blog.pageType == "error_page"'>
La version mobile (ne fonctionne pas encore)
<b:if cond='data:blog.isMobile'>
Cibler les articles avec un certain nombre de commentaires
Utile pour, par exemple, afficher un encart de pub en bas du blog seulement si le nombre des commentaires de l'article est supérieur (respectivement égale ou inférieur) à 10<b:if cond='data:post.numComments > 10'>On aurait pu aussi utiliser numComments == 10 ou numComments != 10 ou même numComments < 10pour dire inférieur à 10.
La négation
Vous avez remarqué que dans les conditions précédentes on utilisait souvent "si 1truc == 1truc" mais on peut aussi afficher un contenu lorsque la comparaison est fausse avec "si 1truc != 1truc".Concrètement voici un condition réalisable lorsque la comparaison entre la page où on se trouve et la page d'accueil est fausse :
<b:if cond='data:blog.url != data:blog.homepageUrl'>
Comment utiliser les conditions
Dans la majorité des cas il suffit d'ajouter ce qu'on veut cacher/afficher à l'intérieur de la condition mais dans certaines situations il faut bien analyser le code avant de l'encapsuler dans une condition.Par exemple pour utiliser une condition sur un widget il faut toujours la mettre à l’intérieur de la balise Includable sinon Blogger affichera une erreur. Exemple :
<b:widget id='HTML3' locked='false' title='Nom du widget' type='HTML'>Pour plus d'informations, lisez cet article : Afficher un Widget dans des pages specifiques du Blog
<b:includable id='main'>
<b:if cond='data:blog.pageType == "index"'>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != ""'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
<b:include name='quickedit'/>
</b:if>
</b:includable>
</b:widget>
Dans certain cas il faut réunir plusieurs conditions pour arriver à un résultat :
<b:if cond='data:blog.url == "Adresse 1 "'>Surtout n'oubliez pas de toujours fermer vos conditions en ajoutant à la fin un </b:if> pour chaque <b:if... utilisé.
<b:if cond='data:blog.url == "Adresse 2 "'>
<b:if cond='data:blog.url == "Adresse 3 "'>
contenu a afficher uniquement si on se trouve dans l'adresse 1 ou 2 ou 3
</b:if>
</b:if>
</b:if>
0 commentaires:
Enregistrer un commentaire