Project

General

Profile

Actions

Bug #101718

closed

DatabaseRecordLinkBuilder does not respect language setting for all languages (sys_language_uid = -1)

Added by Philipp Radler 10 months ago. Updated 5 months ago.

Status:
Resolved
Priority:
Should have
Assignee:
-
Category:
Link Handling, Site Handling & Routing
Target version:
-
Start date:
2023-08-21
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
11
PHP Version:
8.1
Tags:
Complexity:
easy
Is Regression:
Sprint Focus:

Description

I encountered the bug after I created a custom recordLink config like the one described in the TYPO3 Docs.

config{
  recordLinks.example {
    typolink {
        parameter = 123
        additionalParams.data = field:uid
        additionalParams.wrap = &tx_example_pi1[item]=|&tx_example_pi1[controller]=Item&tx_example_pi1[action]=show
    }
  }
}

As I want to show my records an every available language without translating them, they are set to sys_language_uid = -1 (all languages).
The problem is the DatabaseRecordLinkBuilder (EXT:frontend/Classes/Typolink/DatabaseRecordLinkBuilder.php) does not support this behaviour, which is indeed a bug.

Currently on Line 65 in DatabaseRecordLinkBuilder.php it states the following.

                if (empty($overlay['_LOCALIZED_UID'])) {
                    $record = 0;
                }

This has been fixed in V12, please fix for V11 also.


Related issues 4 (2 open2 closed)

Related to TYPO3 Core - Bug #100931: No link generated for record with language 'all languages'Resolved2023-05-30

Actions
Related to TYPO3 Core - Task #101229: Update DatabaseRecordLinkBuilder.phpResolved2023-07-04

Actions
Related to TYPO3 Core - Story #101565: Frontend related translation issuesNew2023-08-03

Actions
Related to TYPO3 Core - Bug #98079: No localized records will be rendered in custom record link handlersNew2022-08-05

Actions
Actions

Also available in: Atom PDF