> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.laposta.org/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.laposta.org/_mcp/server.

# Blokken herhaalbaar maken met sjabloontags

> Maak met lp-repeater, lp-layout en lp-sublayout herhaalbare blokken en varianten in je HTML-sjabloon, en stel pagina-einden in voor de pdf.

Bij het maken van een sjabloon weet je nog niet hoeveel items een nieuwsbrief krijgt. Met drie tags die in elkaar passen, laat je degene die de nieuwsbrief vult zelf blokken toevoegen en daartussen wisselen:

* `<lp-repeater>` bepaalt welk deel van je HTML herhaald mag worden.
* `<lp-layout>` geeft de varianten waaruit de redacteur kan kiezen.
* `<lp-sublayout>` bundelt varianten die sterk op elkaar lijken.

Binnen een repeater bepaal je daarnaast met de class `lp-pagebreak` waar een pagina-einde valt als de nieuwsbrief als pdf wordt opgehaald.

> **Note**
>
> Deze tags werken alleen in een geïmporteerd HTML-sjabloon, niet in de drag & drop-editor. Lees meer in [Een zelfgemaakt sjabloon importeren in Laposta](/welke-opties-biedt-laposta-bij-een-zelfgemaakt-sjabloon).

## Blokken herhaalbaar maken met `<lp-repeater>`

Plaats `<lp-repeater>` om het stuk HTML dat herhaald mag worden. In de editor kan het blok dan zo vaak worden toegevoegd als nodig is.

### Opties

**`lp-label`**

De kop die in de editor links op het scherm boven de layouts (en eventuele sublayouts) van deze repeater staat. Geef je geen label mee, dan toont de editor een algemene kop ('Deel 1', 'Deel 2' enzovoort). Bevat het sjabloon maar één repeater, dan verschijnt er geen kop.

---

### Voorbeeld

```html
<lp-repeater lp-label="Blokken bovenzijde">
<table width="600">
<tr>
<td width="300">
<img lp-edit lp-resizable lp-min-width="100" lp-max-width="300" src="" width="300">
</td>
<td width="300">
<lp-multiline lp-label="Een alinea">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</lp-multiline>
</td>
</tr>
</table>
</lp-repeater><br />
```

## Varianten aanbieden met `<lp-layout>`

Binnen een repeater kun je verschillende blokken aanbieden waaruit de redacteur kan kiezen, zoals een blok met de foto links en de tekst rechts, een met de foto rechts, en drie foto's naast elkaar.

Plaats `<lp-layout>` binnen `<lp-repeater>` om elk blok dat je als keuze wilt aanbieden.

### Opties

**`lp-label`**

De naam waaronder je het blok in de editor kunt kiezen. Laposta maakt van elke layout een screenshot, zodat de gebruiker meteen de vormgeving ziet.

---

**`lp-onrender`**

Zet deze layout direct klaar zodra het sjabloon voor het eerst wordt geladen. Zonder dit attribuut zijn repeaters bij de start leeg en moet de gebruiker zelf blokken toevoegen. Voor bijvoorbeeld een headerblok is direct klaarzetten handiger.

---

**`lp-sublayout-content`**

Bepaalt of sublayouts hun inhoud delen. Zie: [Vergelijkbare varianten bundelen met `<lp-sublayout>`](#vergelijkbare-varianten-bundelen-met-lp-sublayout).

---

### Voorbeeld

```html
<lp-repeater>
<lp-layout lp-label="Foto met tekst">
<table width="600">
<tr>
<td width="300">
<img lp-edit lp-resizable lp-min-width="100" lp-max-width="300" src="" width="300">
</td>
<td width="300">
<lp-multiline lp-label="Een alinea">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</lp-multiline>
</td>
</tr>
</table>
</lp-layout>
<lp-layout lp-label="Drie afbeeldingen op rij" lp-onrender>
<table width="600">
<tr>
<td width="200">
<img lp-edit src="" width="200">
</td>
<td width="200">
<img lp-edit src="" width="200">
</td>
<td width="200">
<img lp-edit src="" width="200">
</td>
</tr>
</table>
</lp-layout>
</lp-repeater><br />
```

## Vergelijkbare varianten bundelen met `<lp-sublayout>`

Lijken varianten sterk op elkaar, dan wordt de lijst met losse layouts al snel lang. Denk aan een afbeelding met tekst én diezelfde opzet met een knop erbij, of een blok in drie achtergrondkleuren. Met `<lp-sublayout>` bundel je zulke varianten onder één layout. De gebruiker plaatst dan eerst de layout en kan daarna wisselen tussen de sublayouts.

### Opties

**`lp-default`**

Bepaalt welke sublayout verschijnt zodra de layout aan de nieuwsbrief wordt toegevoegd. Zonder dit attribuut is dat de eerste sublayout.

---

**`lp-sublayout-content`**

Bepaalt met de waarde `shared` of `individual` of de sublayouts hun inhoud delen. Let op: dit attribuut zet je op de `<lp-layout>`-tag, niet op `<lp-sublayout>`.

---

Wisselt de redacteur bijvoorbeeld tussen een sublayout met afbeelding en tekst en een sublayout met afbeelding, tekst en knop, dan bepaalt `lp-sublayout-content` wat er met de ingevulde inhoud gebeurt:

| Waarde               | Wat er gebeurt                                                                                                                                                               |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `shared` (standaard) | De sublayouts delen hun inhoud. Wissel je van variant, dan blijven de tekst en de afbeelding bewaard.                                                                        |
| `individual`         | Elke sublayout heeft een eigen inhoud. Dat is handig als de opzet sterk verschilt, of als de inhoud gescheiden moet blijven, bijvoorbeeld bij twee varianten van een footer. |

## Pagina-einden bepalen met `lp-pagebreak`

Elke nieuwsbrief is in Laposta [als pdf te downloaden](/kan-ik-verzonden-nieuwsbrieven-ook-printen). Standaard bestaat zo'n pdf uit één lange pagina, en als Laposta pdf's met meerdere pagina's voor je heeft ingeschakeld, wordt de nieuwsbrief zonder extra instelling willekeurig over de pagina's verdeeld. Vooral bij het afdrukken is dat niet altijd handig.

In een geïmporteerd sjabloon kun je de redacteur zelf laten bepalen waar een nieuwe pagina begint. Plaats daarvoor binnen een repeater een stuk HTML met de class `lp-pagebreak`. Dit blok is wel zichtbaar in de editor, maar niet in de verzonden nieuwsbrief. In de pdf begint op die plek een nieuwe pagina. Aan de vormgeving van dit blok zitten geen beperkingen, omdat het alleen in de editor te zien is.

### Voorbeeld

```html
<lp-layout lp-label="Nieuwe pagina bij afdrukken">

<table width="100%" cellspacing="0" cellpadding="0" border="0" class="lp-pagebreak"><tr><td align="center"><hr></td></tr></table>
</lp-layout>
```

Wil je pdf's met meerdere pagina's gebruiken, mail dan naar de helpdesk via [helpdesk@laposta.nl](mailto:helpdesk@laposta.nl). De helpdesk zorgt er dan voor dat je die pdf's in Laposta kunt downloaden.

## Gerelateerde artikelen

#### [Tekst wijzigbaar maken met sjabloontags](/tags-om-tekst-te-wijzigen)

Maak losse tekstregels en langere tekstblokken bewerkbaar in een eigen HTML-sjabloon.

#### [Een automatische inhoudsopgave maken met sjabloontags](/tags-om-een-inhoudsopgave-te-tonen)

Met de tag lp-toc maak je in een eigen HTML-sjabloon automatisch een inhoudsopgave met…

#### [Welke blokken zijn er in de editor?](/welke-inhoudsblokken-kan-ik-gebruiken-in-de-drag-drop-editor)

Overzicht van de elf blokken waarmee je een campagne of sjabloon opbouwt, en wat je per…

#### [De opmaak kopiëren naar andere blokken](/kopieren-van-de-opmaak-van-een-blok)

Zo kopieer je de vormgeving van een blok in één keer naar alle andere blokken van…