---
title: "For developers"
manual: "Klimadashboard"
version: "main"
permalink: "https://docs.typo3.org/permalink/klimadashboard/typo3-klimadashboard:developer@main"
source: "Developer/Index.rst"
rendered: "2026-10-29T18:09:15+00:00"
---

# For developers {#developer}

## Rendering {#rendering}

Each element renders an iframe pointing at the Klimadashboard embed route:

```text
https://klimadashboard.de/embed/<chartId>?auto=true&region=<regionId>&lang=de&skin=<skinId>&<chart options>
```

With `auto=true` the embed reports its height via `postMessage`
(`{type: 'klimadashboard-resize', height}`). The script
`Resources/Public/JavaScript/embed.js` resizes the matching iframe after
checking the sender's origin and window. Fixed-height elements omit `auto`.

The data processor `KlimadashboardTypo3DataProcessingEmbedProcessor`
provides `{klimadashboard.url}`, `{klimadashboard.title}`,
`{klimadashboard.autoHeight}`, `{klimadashboard.consent}` and more to the
template.

## APIs used {#apis-used}

All endpoints are public and read-only; responses are cached in the cache
`klimadashboard`.

| Endpoint | Used for |
| --- | --- |
| `base.klimadashboard.org/items/charts` | Chart picker and iframe titles |
| `base.klimadashboard.org/items/regions` | Region select |
| `klimadashboard.*/api/skins` | Skin select |
| `klimadashboard.*/api/embed-options/<chartId>` | Chart-specific options |

Chart options are stored as a query string in
`tt_content.tx_klimadashboard_options`, e.g. `mode=bestand`.

Clear the API cache with **Flush all caches** or
`vendor/bin/typo3 cache:flush`.
