Project

General

Profile

Actions

Bug #106749

open

Backend modules “Reports” and “Redirects” render with right-to-left orientation under certain site configurations

Added by Beat Zimmerli 28 days ago. Updated 28 days ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
Backend User Interface
Target version:
-
Start date:
2025-05-22
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
12
PHP Version:
8.2
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

Description :
If a site configuration identifier that alphabetically sorts first—e.g. “Arabic”—appears at the top of the sites list, the backend Reports and Redirects modules are displayed RTL (right-to-left). Renaming that identifier so it no longer sorts first restores the normal LTR layout.

Steps to Reproduce :
  1. Define multiple site configurations in the CMS, including one named Arabic and others with names that sort later (e.g. English, French).
  2. Navigate to the backend Reports or Redirects module.
  3. Observe that both modules render in an RTL layout.

Observed Behavior :
Reports and Redirects panels are mirrored (RTL layout) whenever the “Arabic” configuration sorts first in the sites list.

Expected Behavior:
All backend modules—including Reports and Redirects—should always render according to the selected backend language, regardless of site configuration ordering or identifiers.

Workaround :
Rename the “Arabic” configuration to something that sorts later (e.g. X_Arabic) so it no longer appears first in the list; this restores the correct LTR display.


Files

backend.png (119 KB) backend.png Beat Zimmerli, 2025-05-22 09:02
call-stack-tsfe-pagerenderer.png (101 KB) call-stack-tsfe-pagerenderer.png Andreas Kienast, 2025-05-22 11:17
Actions #1

Updated by Andreas Kienast 28 days ago

This is a really nasty one. The issue is caused by the invocation of f:uri.typolink / f:link.typolink. Both ViewHelpers call ContentObjectRenderer->typolink(), which results in booting an instance of TSFE, which in turn attempts to initialize a new PageRenderer. Since PageRenderer is a singleton, the existing instance of the backend is used and overridden.

Actions

Also available in: Atom PDF