---
title: "Feature: #109370 - Array-based queryParameters for page links"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:feature-109370-1742911200"
source: "Changelog/14.2/Feature-109370-ArrayBasedQueryParametersForTypolink.rst"
typo3-version: "14.2"
typo3-major: 14
type: "feature"
issue: 109370
forge: "https://forge.typo3.org/issues/109370"
tags: ["Frontend", "PHP-API", "ext:frontend"]
rendered: "2026-09-25T23:17:45+00:00"
---

# Feature: #109370 - Array-based queryParameters for page links {#feature-109370-1742911200}

See [forge#109370](https://forge.typo3.org/issues/109370)

## Description {#description}

When page links are created programmatically by the
`\TYPO3\CMS\Frontend\Typolink\LinkFactory` PHP API,
query parameters previously had to be provided as a URL-encoded string in
the `additionalParams` configuration key. A new `queryParameters`
configuration key has been introduced that accepts a PHP array, including
multi-dimensional arrays.

When both `queryParameters` and `additionalParams` are set, they are
merged using `array_replace_recursive()`, with `queryParameters`
taking precedence.

Example:

```php
$linkFactory->create('Link text', [
    'parameter' => 42,
    'queryParameters' => [
        'tx_news' => [
            'action' => 'show',
            'id' => 123,
        ],
    ],
], $contentObjectRenderer);
```

The Fluid ViewHelpers `<f:link.page>`, `<f:uri.page>`,
`<f:link.action>`, and `<f:uri.action>` now use this option
internally to pass their `additionalParams` argument as an
array, eliminating the previous serialize/deserialize round trip via query
string encoding.

## Impact {#impact}

Developers creating page links via the
`\TYPO3\CMS\Frontend\Typolink\LinkFactory` PHP API can now pass
query parameters as structured arrays via the `queryParameters`
configuration key. This avoids manual query string encoding and makes
multi-dimensional parameter handling more natural.

The option can be combined with the existing string-based
`additionalParams`. When both are provided, `queryParameters` values
override matching keys from `additionalParams`.
