Data ExplorerListe des donnéesGadgets

data:posts[i].enclosures

Description Statut Data Type Gadget Gadget Version
Donnée du gadget Blog. Tableau enclosures, imbriqué dans le tableau posts.
courant
array[Object]
Blog
1
2

Ressources

"data": {
  "widget": {
    "type": "Blog",
    "version": 1 | 2
  },
  "posts": [{
    "enclosures": [ array ],
      {
        "size": number,
        "length": number,
        "empty": boolean,
        "notEmpty": boolean,
        "any": boolean,
        "first": { object },
        "last": { object }
      }
  }]
}

Conditions

  • Ne peut être employée que dans le code XML du gadget Blog.
  • Tableau imbriqué dans le tableau posts.
  • Disponible uniquement sur les pages archive, index et item.
  • Les liens de contenu (pièces jointes) doivent être activés.
  • L'article doit contenir des liens de contenu (pièces jointes).

Valeur

  • Tableau[Objet] - Array[Object]
  • Tableau contenant les pièces jointes de l'article

Items de l'objet (Gadget V1)
[{
  "url": string,
  "mimeType": string
}]

Items de l'objet (Gadget V2)
[{
  "url": string,
  "mimeType": string
}]

Extraction explicite

La donnée affichera un tableau avec des valeurs "null", puisque ce tableau contient plusieurs items.

Méthode 1 : Dans une boucle
<b:loop values='data:posts' var='VARIABLE_NAME_POSTS' >
  <data:VARIABLE_NAME_POSTS.enclosures/>
</b:loop>

Méthode 2 : Par l'indice
<b:eval expr='data:posts[0].enclosures'/>

Extraction explicite des items du tableau

Le tableau des pièces jointes étant imbriqué dans le tableau des articles, cela entraine une multiplication du nombre de combinaisons.
Pour simplifier cette démo, le tableau des articles (data:posts) a été inclus dans une boucle <b:loop/>.
Il est également possible d'extraire les items du tableau des pièces jointes (data:posts[i].enclosures) sans utiliser une boucle <b:loop/> avec le tableau data:posts.

Méthode 1 : Dans une boucle
<b:loop values='data:posts' var='VARIABLE_NAME_POSTS'>

  <b:loop values='data:VARIABLE_NAME_POSTS.enclosures' var='VARIABLE_NAME_ENCLOSURES'>

    <!-- Les données du tableau "comments" doivent être ajoutées à l'intérieur de cette boucle -->
    <data:VARIABLE_NAME_ENCLOSURES.DATA_COMMENTS_NAME/>

  </b:loop>

</b:loop>

Méthode 2 : Par l'indice
<b:loop values='data:posts' var='VARIABLE_NAME_POSTS'>

  <b:eval expr='data:VARIABLE_NAME_POSTS.enclosures[0].DATA_NAME_COMMENTS'/>

</b:loop>

Premier et dernier set du tableau

Les suffixes .first (premier set) et .last (dernier set) transforment le tableau en un objet ne contenant que le premier ou le dernier set du tableau.
Ce qui permet d'extraire les items de ces sets, sans avoir à utiliser une boucle.

Un item du premier set
<b:loop values='data:posts' var='VARIABLE_NAME_POSTS' >

  <data:VARIABLE_NAME_POSTS.enclosures.first.DATA_NAME/>

</b:loop>

Un item du dernier set
<b:loop values='data:posts' var='VARIABLE_NAME_POSTS' >

  <data:VARIABLE_NAME_POSTS.enclosures.last.DATA_NAME/>

</b:loop>

Longueur du tableau

Les suffixes size et length permettent de connaître le nombre de set dans ce tableau. Le résultat sera une valeur numérique.

Avec le suffixe Size
<b:loop values='data:posts' var='VARIABLE_NAME_POSTS' >

  <data:VARIABLE_NAME_POSTS.enclosures.size/>

</b:loop>

Avec le suffixe length
<b:loop values='data:posts' var='VARIABLE_NAME_POSTS' >

  <data:VARIABLE_NAME_POSTS.enclosures.length/>

</b:loop>

Ce tableau n'est pas vide ?

Pour savoir si ce tableau n'est pas vide, appliquez le suffixe empty au tableau.
Pour vérifier si ce tableau contient des sets, appliquez les suffixes notEmpty ou any au tableau.
Quelque soit le suffixe, l'expression renverra une valeur booléenne.

Est vide
<b:loop values='data:posts' var='VARIABLE_NAME_POSTS' >

  <b:if cond='data:VARIABLE_NAME_POSTS.enclosures.empty'>

  </b:if>

</b:loop>

N'est pas vide (avec le suffixe notEmpty)
<b:loop values='data:posts' var='VARIABLE_NAME_POSTS' >

  <b:if cond='data:VARIABLE_NAME_POSTS.enclosures.notEmpty'>

  </b:if>

</b:loop>

N'est pas vide (avec le suffixe any)
<b:loop values='data:posts' var='VARIABLE_NAME_POSTS' >

  <b:if cond='data:VARIABLE_NAME_POSTS.enclosures.any'>

  </b:if>

</b:loop>

L'indice des items du tableau

L'indice des items est une valeur numérique (number). Il ne peut être obtenu qu'à l'intérieur d'une boucle <b:loop/>.

<b:loop values='data:posts' var='VARIABLE_NAME_POSTS'>

  <b:loop index='INDEX_NAME_ENCLOSURES' values='data:VARIABLE_NAME_POSTS.enclosures' var='VARIABLE_NAME_ENCLOSURES'>

  <!-- L'indice est obtenu à l'intérieur de la boucle -->
    <data:INDEX_NAME_ENCLOSURES/>

  </b:loop>

</b:loop>

Posts les plus consultés de ce blog

ThéorieFonctionnalitésGestion
Populaire
ThéorieFonctionnalitésSEO
Populaire
ThéorieFonctionnalitésContenu
Populaire
DéveloppementsFichiers XML
Populaire