cond
: L'attribut de condition
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 | Classification | Préfixe « expr: » | Implantation |
---|---|---|---|---|
<b:attr> |
Définir l'autorisation de l'ajout d'un attribut à la balise parente. |
Classification : XML Blogger Expression | Préfixe « expr: » : Autorisé | Implantation : Facultative |
<b:class> |
Définir l'autorisation de l'ajout d'une classe à la balise parente. |
Classification : XML Blogger Expression | Préfixe « expr: » : Autorisé | Implantation : Facultative |
<b:if>
<b:elseif>
|
Définir l'autorisation de l'exécution des éléments enfants. |
Classification : XML Blogger Expression | Préfixe « expr: » : Autorisé | Implantation : Obligatoire |
<b:include> |
Définir l'autorisation de l'exécution de l'inclusion. |
Classification : XML Blogger Expression | Préfixe « expr: » : Autorisé | Implantation : Facultative |
<b:section> |
Définir l'autorisation de l'affichage de la section et de son contenu. |
Classification : XML Blogger Expression | Préfixe « expr: » : Autorisé | Implantation : Facultative |
<b:tag> |
Définir l'autorisation de l'ajout d'une balise HTML. |
Classification : XML Blogger Expression | Préfixe « expr: » : Autorisé | Implantation : Facultative |
<b:widget> |
Définir l'autorisation de l'affichage du widget et de son contenu. |
Classification : XML Blogger Expression | Préfixe « expr: » : Autorisé | Implantation : Facultative |
D'une manière générale, la valeur de l'attribut peut être :
Un booléen explicite :
true
,false
,yes
ouno
.Une donnée booléenne (dont la valeur renvoie une valeur
true
oufalse
).Une quelconque donnée (est considérée
true
si la donnée contient une valeur oufalse
si la donnée est vide).Une expression Blogger (dont le résultat renvoie une valeur
true
oufalse
).
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 une page multi-posts (accueil, archive, recherche)
cond='data:view.isMultipleItems'
Exemples - Une expression booléenne
Lorsqu'un booléen n'existe pas dans la bibliothèque, il est toujours possible d'en créer à l'aide des opérateurs.
Avec un opérateur de comparaison
cond='data:posts.size gt 10'
Est vrai, si la page courante contient plus de 10 articles.
Avec un opérateur logique
cond='data:view.isSearch and not data:view.isLabelSearch'
Est vrai, si la page courante est une page de recherche et est vrai si la page courante n'est pas une page de recherche par libellé.
Avec un opérateur de contenu
cond='data:view.search.label contains "+"'
Le caractère +
est un caractère réservé qui est utilisé comme séparateur de libellés.
Dans ce cas-ci, est vrai si la page de recherche d'articles par libellé contient plusieurs libellés.
Avec un opérateur membres
cond='data:view.search.query in ["glace", "dessert", "chocolat"]'
Est vrai, si le terme de la recherche est soit glace
, dessert
ou chocolat
.
Avec un opérateur lambda
cond='data:posts all (p => p.labels.any)'
Est vrai, si tous les articles de l'ensemble courant sont associés à au moins 1 libellé.
Exemples - une page spécifique du blog
Comparer une url explicite avec une donnée de type url dans une condition n'a jamais été la solution idéale, parce que les URLs Blogger sont des données sensibles traitées en arrière-plan et qu'une mise à jour peut involontairement briser le comportement. Sans compter que le blog (ou même l'url cible) peut changer (domaine, protocole https, paramètres, etc...).
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'
cond='data:view.postId in [123456,123456,123456]'
cond='data:view.pageId in [123456,123456,123456]'
cond='data:post.id == 123456'
cond='data:post.id in [123456,123456,123456]'
cond='data:view.search.query == "query"'
cond='data:view.search.label == "label"'
cond='data:view.search.query in ["query","query","query"]'
cond='data:view.search.label in ["label","label","label"]'
cond='data:view.search.archive.year == 2018 and data:view.search.archive.month == 02'