Populaire cette semaine
L'attribut de condition [cond]
![Blogger - L'attribut de condition [cond]](https://3.bp.blogspot.com/-k4z5oNh0bXg/XP74xFJjsvI/AAAAAAAAz1w/RKF1FBGnkmEdy3zdHgzTPqjcsQI7afOZwCLcBGAs/s600/cond.jpg)
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
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
).
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 universeldata: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
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.Avec un opérateur de comparaison
cond='data:posts.size gt 10'
Avec un opérateur logique
cond='data:view.isSearch and not data:view.isLabelSearch'
Avec un opérateur de contenu
cond='data:view.search.label contains "+"'
Avec un opérateur membres
cond='data:view.search.query in ["glace", "dessert", "chocolat"]'
Avec un opérateur lambda
cond='data:posts all (p => p.labels.any)'
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]'
Une page de recherche - une requête
cond='data:view.search.query == "query"'
Une page de recherche - un libellé
cond='data:view.search.label == "label"'
Une page de recherche - plusieurs requêtes
cond='data:view.search.query in ["query","query","query"]'
Une 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'
Les autres attributs d'expression
- Attributs de la balise
<html>
expr:
class
cond
data
expr
id
index
locked
maxwidgets
mobile
name
preferred
render
reverse
showaddelement
title
type
value
values
var
version
visible