cond : L'attribut de condition

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 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 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 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'
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'


Spotlight

Populaires cette semaine

Introduction : Les types de données Blogger / Blogger data type