Iteratorer
Lær hvordan du bruker iteratorer i Dibbel-variabler for å telle, filtrere og organisere lister med data på en effektiv måte.
Hvordan iteratorer fungerer i praksis
Iteratorer kan brukes når du vil vise flere elementer av samme type, for eksempel en liste. Dette er nyttig i tilfeller der du vil hente frem alle linjer i et datasett, som produkter i et tilbud eller punkter i en sjekkliste.
Tidligere så vi at punktum i en variabel brukes til å binde et undertema til et hovedtema, for eksempel {kunde.navn}. Iteratoren bygger videre på dette prinsippet, men i stedet for å koble én verdi, henter den flere elementer i en liste samtidig.
For å bruke iteratorer starter du med en variabel som peker på datasettet du vil iterere over. For å markere selve starten legger du til en hashtag foran variabelen, for eksempel: {#billing.billingLines}. Her fungerer hashtaggen som et signal til systemet om at det nå skal gå gjennom hele listen med data, i dette tilfellet tilbudslinjene.
Til slutt må iteratoren lukkes med {/}, slik at systemet vet hvor listen slutter. Hele iteratoren blir dermed en pakke som starter, henter inn de feltene du har valgt, og avsluttes riktig. Resultatet er at alle elementene i listen vises automatisk i tabellen, uten at du trenger å legge inn hver variabel manuelt.
Eksempel: Bruk av iteratorer i en tilbudsmal
Telle (count)
Når du vil telle noe i en iterator, bruker du funksjonen count. Etter at du har startet iteratoren med {#submissions}, legger du til | count:. Dette forteller systemet at du vil telle antall elementer i listen. Deretter må du legge inn en betingelse som sier hva som skal telles.
For eksempel, hvis du vil telle antall innsendelser hvor typen er "slukker", skriver du: 'type=== "slukker"
Når man setter sammen hele variabelen, blir den seende slik ut:
{submissions | count:'type=== "slukker"'}.
For å bryte ned variabelen vil dette si
Bruke iterator = {#submissions}
{submissions | count:'type==="slukker"'}Filtrere (where)
Når du vil filtrere i en iterator, bruker du funksjonen where. Her følger du samme prinsipp som når du skal telle, men med kodeord "where". For eksempel om du ønsker å kun vise innsendelser som har en signatur, da kan du gjøre slik:
{#submissions | where:'signatur'}{/}
{#submissions | where:'signatur'}{/}
Eller hvis du ønsker å iterere over alle som er av en viss type, kan du gjøre slik:
{#submissions | where:'type==="slukker"'}{/}Du må alltid avslutte en variabel med {/} for å "lukke" den. Dette markerer slutten og gjør at systemet forstår betingelsen riktig.
Sist oppdatert






