---
title: "TypoScript"
manual: "PWA Manifest"
version: "main"
permalink: "https://docs.typo3.org/permalink/woit/wit-pwamanifest:typoscript@main"
source: "TypoScript/Index.rst"
rendered: "2026-10-17T07:19:19+00:00"
---

# TypoScript {#typoscript}

The site set and the static template register the following page types and
header data. All endpoints are rendered by
`WoitWitPwamanifestServicePwamanifestService`.

| TypoScript object | typeNum / key | Content-Type | Method |
| --- | --- | --- | --- |
| `manifest` | 835 | `application/manifest+json` | `manifestConfiguration()` |
| `serviceWorker` | 836 | `application/javascript` | `serviceWorkerScript()` |
| `page.headerData.999999` | – | – | Renders `<link rel="manifest">` |
| `page.headerData.999998` | – | – | `serviceWorkerRegistration()` |

The service worker response additionally sends the header
`Service-Worker-Allowed: /`.

> [!NOTE]
> The service worker URL is built in PHP with the fixed parameter
> `&type=836`. If another extension or your site package already uses
> `typeNum` 835 or 836, change the conflicting type there.

## Resulting URLs {#typoscript-urls}

```text
https://example.org/?type=835   Manifest
https://example.org/?type=836   Service worker script
```

The manifest link always points to the current page with `type=835`.
