L'attribut de condition [cond]

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


Blogger - L'attribut de condition [cond]
Le terme cond est un attribut d'expression Blogger qui permet de définir une condition d'exécution.


Syntaxe

cond='expression'

L'attribut cond est un attribut d'expression dont la valeur à introduire est de type boolean. L'attribut est conçu pour définir une condition d'exécution et peut être incluse dans certaines balises Blogger.

Balises Description
<b:attr> Autoriser l'ajout d'un attribut à la balise parente. Facultatif
<b:class> Autoriser l'ajout d'une classe à la balise parente. Facultatif
<b:if> <b:elseif> Autoriser l'exécution des éléments enfants. Obligatoire
<b:include> Autoriser l'exécution de l'inclusion. Facultatif
<b:section> Autoriser l'affichage de la section et de son contenu. Facultatif
<b:tag> Autoriser l'ajout d'une balise HTML. Facultatif
<b:widget> Autoriser l'affichage du widget et de son contenu. Facultatif

D'une manière générale, la valeur de l'attribut peut être.
  • Un booléen explicite : true, false, yes ou no.
  • Une donnée booléenne (dont la valeur renvoie une valeur true ou false).
  • Une quelconque donnée (est considérée true si la donnée contient une valeur ou false si la donnée est vide).
  • Une expression Blogger (dont le résultat renvoie une valeur true ou false).
En savoir plus sur les booléens

Exemples - Un booléen explicite

Mentionner un booléen explicitement est la méthode la plus facile et la plus rapide pour autoriser au interdire l’exécution.
Vas-y Kimi, tu peux y arriver...
Est vrai
cond='true'
Est faux
cond='false'


Exemples - Une donnée booléenne

Le dictionnaire universel data:view regorge de données booléennes que l'on peut aisément utiliser pour définir rapidement une condition. Abusez-en... et si vous pensez que ce n'est pas suffisant, consultez l'explorateur des données.
Explorateur - Les données booléennes
La page courante est un article
cond='data:view.isPost'
La page courante est une page
cond='data:view.isPage'
La page courante est la page d'accueil
cond='data:view.isHomepage'
La page courante est une page de recherche
cond='data:view.isSearch'
La page courante est un page multi-posts (accueil, archive, recherche)
cond='data:view.isMultipleItems'


Exemples - Une expression booléenne

Si un booléen n'existe pas dans la bibliothèque, il est toujours possible d'en créer un à l'aide des opérateurs.
cond='data:posts.size gt 10'
Vrai, si la page courante contient plus de 10 posts.
cond='data:view.isSearch and not data:view.isLabelSearch'
Vrai, si la page courante est une page de recherche et vrai si la page courante n'est pas une page de recherche de libellé.
cond='data:view.search.label contains "+"'
Vrai, si le terme de la page de recherche de libellé contient la valeur +.
cond='data:view.search.query in ["glace", "dessert", "chocolat"]'
Vrai, si le terme de la recherche est soit glace, dessert ou chocolat.
cond='data:posts all (p => p.labels.any)'
Vrai, si tous les posts contiennent au moins 1 libellé.


Exemples - une page spécifique du blog

Bien que certains utilisent béatement des tutos âgés de plus de 15 ans et qui ont été largement dupliqués sur le web, comparer une url explicite avec une donnée de type url dans une condition n'a jamais été la solution idéale. Et pourtant, des amateurs qui se sont autoproclamés "experts", sans véritablement étudier les bases du langage, y croient dur comme fer, parce qu'ils ont tout simplement entendu braire une vache. Au final, ça fini par planter.
Mais pourquoi donc ?! D'une part, parce que le blog (ou même l'url cible) peut changer, et de l'autre part, l'url est variable (protocole https, domaine national, paramètres, etc). Je ne mentionne même pas le fait que l'ingéniérie peut changer les règles (in)volontairement parce que les urls du blog sont des données sensibles traitées en arrière-plan.
De ces faits, la solution la plus fiable est d'utiliser :
  • les identifiants pour définir un article ou une page autonome
  • le terme d'une recherche s'il s'agit d'une page de recherche (par requête ou par libellé)
  • la période, s'il s'agit d'une archive
Un article
cond='data:view.postId == 123456'
Une page autonome
cond='data:view.pageId == 123456'
Plusieurs articles
cond='data:view.postId in [123456,123456,123456]'
Plusieurs pages autonomes
cond='data:view.pageId in [123456,123456,123456]'
Un article ou une page autonome dans une boucle de posts dans les gadgets Blog / FeaturedPost / PopularPosts
cond='data:post.id == 123456'
Plusieurs articles (ou pages autonomes) dans une boucle de posts dans les gadgets Blog / FeaturedPost / PopularPosts
cond='data:post.id in [123456,123456,123456]'
Un page de recherche - une requête
cond='data:view.search.query == "query"'
Un page de recherche - un libellé
cond='data:view.search.label == "label"'
Un page de recherche - plusieurs requêtes
cond='data:view.search.query in ["query","query","query"]'
Un page de recherche - plusieurs libellés
cond='data:view.search.label in ["label","label","label"]'
Une archive
cond='data:view.search.archive.year == 2018 and data:view.search.archive.month == 02'


Retourner dans la fiche principale : Les attributs des balises Blogger

Posts les plus consultés de ce blog