data:widgets[i].type - Blogger Data Documentation

Blogger - data:widgets[i].type
Description de la donnée
data:widgets[i].type est une donnée universelle Blogger contenant le type des gadgets visibles.
Intégration dans le code XML
Dans les nœuds enfants de la balise <html>, excepté à l'intérieur des marqueurs <![CDATA[ ]]>.
Directives d'usage et niveau de priorité de mise à jour
Thème Version 1
Garantie d'usage : Inexistant
Aucune priorité
Thème Version 2
Garantie d'usage : Inexistant
Aucune priorité
Thème Dynamique
Garantie d'usage : Inexistant
Aucune priorité
Thème Version 3
Garantie d'usage : Oui
Priorité haute
Disponibilité par défaut par type de pages
Toutes les pages.
Disponibilité par type de gadgets
Tous les types de gadgets.
Longueur maximum de la valeur
Indéfini.
Set de réglages XML
Disponible.
Condition additionnelle
Aucune.
Donnée de gadgets apparentée
widget.type

Ressources

Échantillonnage des ressources


  widgets: 
    type: string,
      
        size: number,
        length: number,
        escaped: string,
        jsEscaped: string,
        jsonEscaped: string,
        cssEscaped: string
      
  

Parenté - Enfant de :

Implémentation de la donnée

La donnée étant emboîtée dans plusieurs tableaux, le choix de la méthode d'implémentation dépendra du résultat que vous voulez obtenir.
Pour réduire le temps de réponse, limitez le nombre de boucles et privilégiez l'usage de filtres :

Méthode d’Aliasing de l’Array

<b:loop values='data:widgets' var='widget'>

  <!-- Tag -->
  <data:widget.type/>

  <!-- Attribute value -->
  <b:eval expr='data:widget.type'/>

</b:loop>

L’Alias Array Method est utilisée pour parcourir un tableau (Array) en stockant temporairement chaque élément dans une variable avec <b:loop>. Cette approche est indispensable, car il est impossible d’accéder directement aux indices d’un tableau sans une boucle.

Type de gadgets

Méthode Suffixe
<b:loop values='data:widgets.Profile' var='Profile'>

  <!-- Tag -->
  <data:Profile.type/>

  <!-- Attribute value -->
  <b:eval expr='data:Profile.type'/>

</b:loop>
Méthode Lambda
<b:loop values='data:widgets filter (w => w.type == "Profile")' var='Profile'>

  <!-- Tag -->
  <data:Profile.type/>

  <!-- Attribute value -->
  <b:eval expr='data:Profile.type'/>

</b:loop>

Le tableau data:widgets peut être filtré par type de gadgets. Pour obtenir ce résultat, il existe au moins 2 méthodes :

  • La première méthode, en appliquant le type du gadget comme suffixe au tableau.

  • La deuxième méthode, en utilisant un filtre lambda.

Dans nos exemples, nous filtrons pour obtenir les résultats liés à tous les gadgets Profile visibles sur le blog.

Indice de l'item

<b:loop values='data:widgets' var='widget' index='i'>

  <!-- Index (number) -->
  <data:i/>

  <!-- Index [i] -->
  <b:eval expr='data:widgets[i].type'/>

  <!-- Index [i+1] -->
  <b:with value='data:i + 1' var='next'>
    <b:eval expr='data:widgets[next].type'/>
  </b:with>

  <!-- Index [i-1] -->
  <b:if cond='data:i gt 0'>
    <b:with value='data:i - 1' var='prev'>
      <b:eval expr='data:widgets[prev].type'/>
    </b:with>
  </b:if>

</b:loop>

L'indice est un nombre entier positif (0 compris) qui représente la position de l'élément dans un tableau. Il peut être intègré directement dans la donnée de cette manière : data:array[index].item. Quant à la donnée, elle doit obligatoirement être dans un attribut d'expression.
Dans notre exemple, nous utilisons l'indice pour retrouver l'élément courant [i], l'élément suivant [i+1] et l'élément précédant [i-1].

Premier et dernier item

<!-- First -->
<b:eval expr='data:widgets.first.type'/>

<!-- Last -->
<b:eval expr='data:widgets.last.type'/>

first et last sont des filtres qui permettent d'obtenir respectivement le premier et dernier élément d'un tableau sans avoir à recourir à l'usage d'une boucle.

Mappage

<b:loop values='data:widgets map (w => w.type)' var='type'>

  <!-- Tag -->
  <data:type/>

  <!-- Attribute value -->
  <b:eval expr='data:type'/>

</b:loop>

Le mappage est une opération qui consiste à regrouper des items d'un ensemble dans un nouvel ensemble.

Dans ce cas-ci, nous utilisons l'opérateur lambda map.

Réglages de la donnée

Les réglages sont des items contenus dans l'objet de la donnée qui renvoient une nouvelle valeur. Ils s'ajoutent à la suite de la donnée.

Introduction aux réglages des données

Les réglages autorisés pour cette donnée sont :

Longueur de la chaîne de caractères

<b:loop values='data:widgets' var='widget'>

  <!-- WITH SIZE -->
  <data:widget.type.size/>

  <!-- WITH LENGTH -->
  <data:widget.type.length/>

</b:loop>

Le nombre de caractères de la chaîne peut être obtenu en utilisant les suffixes size ou length.

Longueur de la chaîne de caractères

Échappements de la chaîne de caractères

<b:loop values='data:widgets' var='widget'>

  <!-- HTML ESCAPED -->
  <data:widget.type.escaped/>

  <!-- JS ESCAPED -->
  <data:widget.type.jsEscaped/>

  <!-- JSON ESCAPED -->
  <data:widget.type.jsonEscaped/>

  <!-- CSS ESCAPED -->
  <data:widget.type.cssEscaped/>

</b:loop>

La chaîne de caractères peut être échappée en utilisant les suffixes escaped, jsEscaped, jsonEscaped et cssEscaped.

Échappements de la chaîne de caractères

Alias dans le modèle

Cette section permet d'identifier les emplacements dans le fichier XML où la donnée est implémentée sous différents alias. L’alias peut être identique à la clé d’origine ou être une adaptation spécifique à une ou plusieurs inclusions.

Dans le tableau ci-dessous, nous ne mentionnons que les assignations directes sans manipulation de la valeur, à l'exception des réglages appliqués par suffixe.

Spotlight

La balise TITLE sur Blogger

Populaires cette semaine