> 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.

# Hacer que los bloques sean repetibles con etiquetas de plantilla

> Crea bloques repetibles y variantes en tu plantilla HTML con lp-repeater, lp-layout y lp-sublayout, y configura saltos de página para el PDF.

Al crear una plantilla, todavía no sabes cuántos elementos tendrá un boletín. Con tres etiquetas que encajan entre sí, permites que quien redacte el boletín pueda añadir bloques por su cuenta y alternar entre ellos:

* `<lp-repeater>` determina qué parte de tu HTML se puede repetir.
* `<lp-layout>` ofrece las variantes entre las que puede elegir el redactor.
* `<lp-sublayout>` agrupa variantes que son muy parecidas entre sí.

Además, dentro de un repeater puedes definir con la clase `lp-pagebreak` dónde habrá un salto de página cuando el boletín se descargue como pdf.

> **Note**
>
> Estas etiquetas solo funcionan en una plantilla HTML importada, no en el editor de arrastrar y soltar. Puedes leer más en [Importar una plantilla propia en Laposta](/welke-opties-biedt-laposta-bij-een-zelfgemaakt-sjabloon).

## Hacer que los bloques sean repetibles con `<lp-repeater>`

Coloca `<lp-repeater>` alrededor del fragmento de HTML que se puede repetir. De esta forma, en el editor se podrá añadir ese bloque tantas veces como sea necesario.

### Opciones

**`lp-label`**

El encabezado que aparece en el editor a la izquierda de la pantalla, encima de los diseños (y posibles subdiseños) de este repeater. Si no indicas ninguna etiqueta, el editor mostrará un encabezado genérico ('Parte 1', 'Parte 2', etc.). Si la plantilla contiene solo un repeater, no aparecerá ningún encabezado.

---

### Ejemplo

```html
<lp-repeater lp-label="Bloques superiores">
<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="Un párrafo">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 />
```

## Ofrecer variantes con `<lp-layout>`

Dentro de un repeater puedes ofrecer diferentes bloques para que el redactor elija, como un bloque con la foto a la izquierda y el texto a la derecha, otro con la foto a la derecha y otro con tres fotos una al lado de la otra.

Coloca `<lp-layout>` dentro de `<lp-repeater>` alrededor de cada bloque que quieras ofrecer como opción.

### Opciones

**`lp-label`**

El nombre con el que puedes elegir el bloque en el editor. Laposta hace una captura de pantalla de cada layout, para que el usuario vea inmediatamente el diseño.

---

**`lp-onrender`**

Deja este layout preparado directamente en cuanto se carga la plantilla por primera vez. Sin este atributo, los repeaters están vacíos al inicio y el usuario tiene que añadir los bloques por sí mismo. Por ejemplo, para un bloque de cabecera resulta más práctico dejarlo preparado directamente.

---

**`lp-sublayout-content`**

Determina si los sublayouts comparten su contenido. Ver: [Agrupar variantes similares con `<lp-sublayout>`](#vergelijkbare-varianten-bundelen-met-lp-sublayout).

---

### Ejemplo

```html
<lp-repeater>
<lp-layout lp-label="Foto con texto">
<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="Un párrafo">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="Tres imágenes en fila" 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 />
```

## Agrupar variantes similares con `<lp-sublayout>`

Si las variantes se parecen mucho entre sí, la lista de layouts sueltos se vuelve larga enseguida. Piensa, por ejemplo, en una imagen con texto y esa misma estructura añadiendo un botón, o un bloque en tres colores de fondo. Con `<lp-sublayout>` agrupas este tipo de variantes bajo un mismo layout. Así, el usuario coloca primero el layout y después puede alternar entre los sublayouts.

### Opciones

**`lp-default`**

Determina qué sublayout aparece en cuanto se añade el layout al boletín. Sin este atributo, se mostrará el primer sublayout.

---

**`lp-sublayout-content`**

Determina con el valor `shared` o `individual` si los sublayouts comparten su contenido. Atención: este atributo se coloca en la etiqueta `<lp-layout>`, no en `<lp-sublayout>`.

---

Por ejemplo, si el redactor alterna entre un sublayout con imagen y texto y un sublayout con imagen, texto y botón, `lp-sublayout-content` determina qué ocurre con el contenido ya introducido:

| Valor                     | Qué ocurre                                                                                                                                                                                      |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `shared` (predeterminado) | Los sublayouts comparten su contenido. Si cambias de variante, el texto y la imagen se conservan.                                                                                               |
| `individual`              | Cada sublayout tiene su propio contenido. Esto es útil si la estructura es muy diferente o si el contenido debe mantenerse separado, por ejemplo, cuando hay dos variantes de un pie de página. |

## Definir saltos de página con `lp-pagebreak`

En Laposta, cualquier boletín se puede [descargar como pdf](/kan-ik-verzonden-nieuwsbrieven-ook-printen). Por defecto, este pdf consta de una sola página larga y, si Laposta ha activado para tu cuenta los pdf de varias páginas, el boletín se divide de forma aleatoria entre las páginas si no hay ningún ajuste extra. Sobre todo a la hora de imprimir, esto no siempre resulta práctico.

En una plantilla importada puedes dejar que el propio redactor decida dónde empieza una página nueva. Para ello, coloca dentro de un repeater un fragmento de HTML con la clase `lp-pagebreak`. Este bloque sí es visible en el editor, pero no en el boletín enviado. En el pdf, en ese punto empezará una página nueva. El diseño de este bloque no tiene restricciones, ya que solo se ve en el editor.

### Ejemplo

```html
<lp-layout lp-label="Nueva página al imprimir">

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

Si quieres utilizar archivos pdf de varias páginas, envía un correo al servicio de asistencia a través de [helpdesk@laposta.nl](mailto:helpdesk@laposta.nl). El servicio de asistencia se encargará de que puedas descargar esos pdf en Laposta.

## Artículos relacionados

#### [Hacer que el texto sea modificable con etiquetas de plantilla](/tags-om-tekst-te-wijzigen)

Haz que líneas de texto sueltas y bloques de texto más largos sean editables en una plantilla HTML propia.

#### [Crear una tabla de contenidos automática con etiquetas de plantilla](/tags-om-een-inhoudsopgave-te-tonen)

Con la etiqueta lp-toc creas automáticamente en una plantilla HTML propia una tabla de…

#### [¿Qué bloques hay en el editor?](/welke-inhoudsblokken-kan-ik-gebruiken-in-de-drag-drop-editor)

Resumen de los once bloques con los que creas una campaña o plantilla, y qué puedes…

#### [Copiar el formato a otros bloques](/kopieren-van-de-opmaak-van-een-blok)

Así copias de una vez el diseño de un bloque a todos los otros bloques del mismo tipo…