Premier et dernier set d'un tableau : first
, last
Les termes first
et last
sont des suffixes que l'on ajoute aux tableaux de données Blogger pour obtenir le premier ou le dernier set de ce tableau.
Définition
Les réglages first
et last
ont la même vocation. Ils filtrent un tableau en ne récupérant qu'un seul set : Le premier ou le dernier set.
Le tableau étant considéré jusque là comme étant array, devient alors le type enfant de ce tableau :
array[array] devient array.
array[object] devient object.
array[string] devient string.
array[boolean] devient boolean.
array[number] devient number.
etc...
Ce qui signifie, que la nouvelle valeur n'est plus obligée d'être traitée à l'intérieur d'une boucle (excepté si le set enfant est un tableau).
Explorateur de données Blogger - Les array
En théorie, les paramètres first
et last
sont des filtres renfermés dans un objet et qui renvoient une nouvelle valeur :
first: Child type of the array ,
last: Child type of the array
En pratique, dans l'éditeur XML du thème, les réglages s'ajoutent au nom du tableau array :
Syntaxes de sortie
<!-- first --> data:array.first <!-- last --> data:array.last
Exemple avec le tableau universel data:widgets
. Ce tableau est de type array[Object]. En appliquant l'un des réglages, il deviendra object :
<!-- first --> <data:widgets.first.id/> <!-- last --> <data:widgets.last.id/>
Ces réglages peuvent également s'ajouter à la suite d'une opération qui est encadrée de parenthèses dont le résultat est de type array :
<!-- first --> <b:eval expr='(data:widgets where (w => w.type == "HTML")).first.id'/> <!-- last --> <b:eval expr='(data:widgets where (w => w.type == "HTML")).last.id'/>
Quelques exemples
Filtrer dans un alias
<b:with value='data:posts.first' var='post'> <a expr:href='data:post.url'> <b:eval expr='data:post.title'/> </a> </b:with>
data:posts
étant array[Object], la nouvelle valeur devient object ne contenant que les items du premier set.
Extraction explicite des items de l'objet
<a expr:href='data:posts.last.url'> <b:eval expr='data:posts.last.title'/> </a>
data:posts.last
étant devenu un objet, les noms des items peuvent être ajouté directement à la suite de la donnée.
Exemple avec un tableau de nombres
<b:with value='[10,25,60,12,6].first' var='number'> <b:eval expr='data:number'/> </b:with>
La valeur de data:number
sera 10
.
Exemple avec une opération lambda
<img expr:src='(data:posts map (p => p.featuredImage)).last'/>
data:posts
est d'abord filtré par un lambda pour devenir array[image]. En ajoutant le suffixe last
à la suite de l'opération, la valeur finale sera une donnée de type image. Dans ce cas-ci, l'image du dernier post.
Les autres réglages de données
AdSense
Attribution
Blog
BlogArchive
BloggerButton
BlogList
BlogSearch
ContactForm
FeaturedPost
Feed
Followers
Header
HTML
Image
Label
LinkList
PageList
PopularPosts
Profile
ReportAbuse
Stats
Subscribe
Text
TextList
Translate
Wikipediashare
author
timestamp
comments
labels
location
iconsred
green
blue
alpha
transparent
inverseany / notEmpty
emptycanonical
color
imagename
language
country
variantescaped
cssEscaped
jsEscaped
jsonEscapedday
month
year
dayOfWeek
dayOfMonth
dayOfYearfirst
lastwidth
height
originalWidth
originalHeighthttp
httpsiso8601
isResizable
languageAlignment
languageDirectionsize / length (array)
size / length (string)
size (array[image])
url (array[image])size (skin font)
familyisYoutube
youtubeMaxResDefaultUrl