# Veldsoorten en herhaalblokken

Wanneer je in de typebouwer een eigenschap toevoegt, kies je het **Type**. Dezelfde soorten zijn beschikbaar voor de velden van een herhaalblok en van een sectie.

## Veldsoorten

| Type | Slaat op | Opmerkingen |
| --- | --- | --- |
| Tekst | Een korte regel (tot 255 tekens) | Kan worden vertaald. Kan als bron voor het adres dienen. |
| Lange tekst | Tekst met meerdere regels (tot 10000 tekens) | Kan worden vertaald. |
| Opgemaakte tekst | Opgemaakte tekst | Vet, cursief, lijsten, links, afbeeldingen (met een `https://`- of root-relatief adres) en koppen 2 tot 4 blijven behouden; andere opmaak wordt bij het opslaan verwijderd. Kan worden vertaald. |
| Getal | Een getal | |
| Geld | Een bedrag | Ingevoerd met een punt of komma als decimaalteken, bijvoorbeeld `4950.00`; opgeslagen in centen. Een bedrag dat niet te lezen is blokkeert het opslaan met "Ongeldige prijs "{price}". Gebruik een punt of komma voor decimalen: 4950.00". |
| Ja/nee | Een selectievakje | |
| Keuzelijst | Eén keuze uit een vaste lijst | Voer de opties in, één per regel. Kan worden vertaald. |
| Datum | Een datum | |
| Datum en tijd | Een datum en tijd | Opgeslagen met de tijdzone-offset van je browser. |
| Klant | Een koppeling naar een klant | Alleen beschikbaar wanneer de module Klanten is ingeschakeld. |
| Afbeelding | Eén afbeelding uit de mediabibliotheek | **Kies afbeelding**, **Afbeelding wijzigen**, **Afbeelding verwijderen**. Alleen publieke media wordt geleverd. Kan worden vertaald. |
| Afbeeldingenlijst | Meerdere afbeeldingen, elk met alt-tekst en bijschrift | Tot 50. Eén lijst voor alle talen; alt-tekst en bijschrift voer je per taal in. |
| Link | Een knop of link met een URL en een label | De URL moet beginnen met `https://`, `http://`, `/`, `mailto:` of `tel:`. Kan worden vertaald. |
| Pictogram | De naam van een pictogram | Kan worden vertaald. |
| Kleur | Een kleur | Een hexwaarde zoals `#1A2B3C`. |
| E-mail | Een e-mailadres | Kan worden vertaald. |
| Telefoon | Een telefoonnummer | Cijfers, spaties en `()-.`, met een optionele `+` vooraan. Kan worden vertaald. |
| Tags | Een lijst korte labels | Tot 50, elk tot 60 tekens; dubbelen worden verwijderd. Kan worden vertaald. |
| Recordverwijzing | Een koppeling naar één record van een ander type | Kies de **Toegestane objecttypen**. |
| Lijst met recordverwijzingen | Koppelingen naar meerdere records (tot 24) | Kies de **Toegestane objecttypen**. |
| Herhaalblok | Een lijst rijen die allemaal dezelfde velden hebben | Zie hieronder. |
| Secties | Een pagina opgebouwd uit contentsecties | Zie [Secties-eigenschappen](/nl/docs/objects/index#secties-eigenschappen). |

Een verplichte eigenschap moet een waarde hebben; voor een vertaalbare eigenschap betekent dat de standaardtaal.

## Waarden invoeren

- **Kleur.** Een kleurvlak opent de kleurkiezer; ernaast staat een hexveld (`#1A2B3C`). **Kleur wissen** maakt het leeg. Alles wat geen hexwaarde is wordt geweigerd met "Gebruik een kleur zoals #1A2B3C.".
- **Tags.** Typ een tag en druk op Enter of typ een komma om die als chip toe te voegen; Backspace in het lege veld verwijdert de laatste chip. Een teller toont hoeveel van de 50 je hebt gebruikt.
- **Recordverwijzing.** **Kies record** opent het venster **Kies een record** met een zoekveld **Records zoeken...**; selecteer een record en klik op **Selectie gebruiken**. Een gekozen record wissel je met **Record wijzigen**. Heeft de eigenschap nog geen toegestane objecttypen, dan meldt het veld dat je die in de type-instellingen moet kiezen. Een koppeling waarvan het doel weg is toont "Record niet beschikbaar".
- **Lijst met recordverwijzingen.** **Records toevoegen** opent **Kies records**, waar je er meerdere kunt selecteren voordat je op **Selectie gebruiken** klikt. Een teller toont hoeveel van de 24 je hebt gekoppeld; verwijder een koppeling met het kruisje op de chip.
- **Afbeeldingenlijst.** **Afbeeldingen toevoegen** opent **Kies afbeeldingen**; selecteer er meerdere uit de mediabibliotheek en klik op **Afbeeldingen gebruiken**. Elke afbeelding heeft de velden **Alt-tekst** en **Bijschrift**, en je wijzigt de volgorde met de pijlknoppen of verwijdert er een. De afbeeldingen en hun volgorde gelden voor alle talen; de alt-tekst en het bijschrift van elke afbeelding voer je per taal in op de tabs voor de inhoudstaal.

Deze invoervelden werken ook binnen herhaalblokrijen.

## Gekoppelde records

Een **Recordverwijzing** of **Recordverwijzingslijst** kan alleen naar een bestaand record van een van de **Toegestane objecttypen** verwijzen. Bij het opslaan wordt een koppeling naar een record dat niet bestaat, is verwijderd of een type heeft dat de eigenschap niet toestaat geweigerd met "Unknown or not allowed record.". Dezelfde controle geldt voor imports, waar een bestand ook kan koppelen aan records die het zelf aanmaakt.

- **Een gekoppeld record wordt verwijderd.** Records die ernaar verwijzen houden de verouderde koppeling. Op de storefront gaat niets stuk: een verwijderd doel wordt gewoon weggelaten (een lege koppeling, of één item minder in een lijst). Het koppelende record opslaan blijft werken zolang je die eigenschap niet wijzigt; zodra je de eigenschap bewerkt, verwijder of vervang je eerst de verouderde koppeling, anders wordt het opslaan geweigerd.
- **Een gekoppeld record is een concept of ingepland.** De koppeling blijft geldig en slaat gewoon op, maar de storefront toont het doel pas als het is gepubliceerd. Tot die tijd wordt het op dezelfde manier weggelaten als een verwijderd record.

## Herhaalblokken

Een **Herhaalblok** bevat een lijst rijen die allemaal dezelfde velden delen, bijvoorbeeld de stappen van een recept of de prijzen van een dienst.

1. Voeg een eigenschap van het type **Herhaalblok** toe.
2. Klik onder **Velden per rij** op **Veld toevoegen** voor elk veld dat een rij heeft. Geef het een label, een sleutel en een type, en vink waar nodig **Verplicht** of **Vertaalbaar** aan. Het bericht "Nog geen velden. Voeg de velden toe die elke rij heeft." staat er tot je het eerste veld toevoegt.
3. Stel optioneel **Veld voor rijlabel** in op een van de velden van de rij, zodat ingeklapte rijen daarmee een titel krijgen. De standaard is **Geen veld voor rijlabel**.
4. Klik op **Toevoegen**.

Op een record toont het herhaalblok zijn rijen. Voeg een rij toe, vul de velden in, sleep een rij om te herordenen (het gripicoon) of gebruik de pijlknoppen van de rij, en verwijder een rij die je niet meer nodig hebt. Een herhaalblok heeft maximaal 50 rijen.

- Een herhaalblok kan binnen een rij nog één herhaalblok bevatten (één niveau nesten); de rijen van dat binnenste herhaalblok kunnen elke andere soort gebruiken, maar geen herhaalblok meer.
- Een herhaalblok als geheel kan niet worden vertaald. Vertaal in plaats daarvan de velden.
- Een herhaalblok zonder rijen telt als leeg, dus een verplicht herhaalblok heeft minstens één rij nodig.
- Een rijveld kan elke soort zijn behalve Klant en Secties. Keuzelijstvelden in een rij krijgen hun opties in een optievak naast het veld, één per regel.

Zie de [API-referentie](/nl/api/objects/index) voor hoe elke soort aan je storefront wordt teruggegeven.
