---
title: "resolve-markers"
manual: "Handlebars"
version: "main"
permalink: "https://docs.typo3.org/permalink/cpsit/typo3-handlebars:data-processor-resolve-markers@main"
source: "Usage/DataProcessors/ResolveMarkers.rst"
rendered: "2026-09-29T09:05:57+00:00"
---

# resolve-markers {#data-processor-resolve-markers}

**Class:** `\CPSIT\Typo3Handlebars\DataProcessing\ResolveMarkersProcessor`

Replaces marker-style keys (e.g., `###NAV_ITEMS###`) in the
processed data with the values stored under those keys. The typical pattern is
to use a marker as a named placeholder early in the chain — either as the
`as` target of a preceding processor or directly in a
`variables` entry — and then resolve all markers to clean variable
names in a final step. This keeps intermediate processors decoupled from the
variable names the template expects.

```typoscript
tt_content.my_element = HANDLEBARSTEMPLATE
tt_content.my_element {
    templateName = MyElement

    dataProcessing {
        # Declare the expected output slots early using markers — these
        # names will become the final template variables
        10 = menu
        10 {
            as = ###mainNavigation###
            levels = 2
        }

        20 = menu
        20 {
            as = ###footerLinks###
            special = directory
            special.value = 42
        }

        # Resolve all markers to clean variable names in one final step
        90 = resolve-markers
        90.removeNonMatchingMarkers = 1
    }
}
```

After processing, the template receives `mainNavigation` and
`footerLinks` as clean variable names. The markers at the top of
the chain serve as upfront documentation of what the template expects, while
the processors that follow fill those slots independently.

## Properties {#data-processor-resolve-markers-properties}

-   **`pattern`**

    Regular expression used to identify marker keys. The first capture
    group becomes the resolved variable name.
    Default: `###(.*?)###`

-   **`removeNonMatchingMarkers`**

    Boolean. When `1`, variable keys that still match the
    marker pattern after resolution (i.e., no value was found for them)
    are removed from the processed data. Default: `0`.
