Alias de variable / The variable alias : <b:with>

Blogger - Alias de variable <b:with>

L'alias de variable <b:with> est une balise d'instruction qui permet de créer une expression complexe pouvant être récupérée dans les nœuds enfants.

La syntaxe

XML
<b:with value='EXPRESSION' var='VARIABLE_NAME'>

  <data:VARIABLE_NAME/>

</b:with>
  • La balise <b:with> travaille dans l'ensemble du code XML, excepté à l'intérieur d'un balisage <![CDATA[.

  • Plusieurs balises <b:with> peuvent s'imbriquer.

Les attributs

L'alias de variable doit contenir plusieurs attributs obligatoires.

<b:with value='EXPRESSION'
        var='VARIABLE_NAME'>

</b:with>

Quelques exemples

Redimensionner une image

<b:with value='data:view.featuredImage ?: "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgziAYuMlGzitTb2J1Njpq12HdfJ_gYmXarucsC9B-2WrJbjZbduCpMK-uWzPmY-fi2kBG5jUBLJFni5VwRsgKAzCh9ntvV2pZHeCSqIkM7F5oGVPvgDM7ON7LIUV7E32MjPM5zZ2GAaL9A/s1600/BCodeBanYT.jpg"' var='image'>
<b:with value'data:view.isHomepage ? [300,600,1200] : [100,200]' var='set'>
<b:with value'data:view.isHomepage ? 1200 : 200' var='size'>

  <img expr:src='resizeImage(data:image,data:size)'
       expr:srcset='sourceSet(data:image,data:set)' />

</b:with>
</b:with>
</b:with>

Le premier alias contient une expression qui choisi l'url de l'image.

Le second alias contient un choix de 2 tableaux de nombres qui serviront de sets dans l'attribut srcset.

Le troisième alias contient un choix de 2 tailles qui servira a redimensionner l'image dans l'attribut src.

Filtrer un tableau

<b:with value='data:posts where (p => p.date.dayOfWeek in [6,7])'
        var='postsList1'>
<b:with value='data:posts where (p => p.author == "Super Toto")'
        var='postsList2'>

  <b:loop values='data:view.isHomepage ? data:postsList1 : data:view.isSearch ? data:postsList2 : data:posts' var='post'>

    <h2><data:post.title/></h2>

  </b:loop>

</b:with>

Le premier alias filtre les posts publiés le samedi et le dimanche.

Le second alias filtre les posts publiés par Super Toto.

Dans la boucle, les 2 alias sont injectés dans un sélecteur ternaire. Le premier alias sera sélectionné si la page courante est la page d'accueil. Le second alias sera sélectionné si la page courante est une page de recherche. Et le tableau data:posts sera sélectionné si les 2 premières conditions ne sont pas respectées.

Remplacer une valeur d'une donnée

<b:with value='data:title ?: "Substitute title"' var='title'>

    <h2><data:title/></h2>

</b:with>

L'alias contient un sélecteur binaire dont le résultat sera reporté dans data:title.

Voir également l'attribut d'alias data=""

Spotlight

La balise TITLE sur Blogger

Populaires cette semaine

L'Éditeur XML de Thème Blogger : Quand le BackEnd Rencontre le FrontEnd

Ajouter des boutons à la barre de partage Blogger