From 9f9fcff1d37718a769f7314e6cf079984f1049d5 Mon Sep 17 00:00:00 2001
From: Oliver Bartsch <bo@cedev.de>
Date: Thu, 26 Jan 2023 17:08:33 +0100
Subject: [PATCH] [BUGFIX] Respect titleLen setting for page title in page
 module

The "titleLen" setting is now respected in the page
modules' "language mode" to prevent overlapping
of long page titles.

Note: Overlapping might still happen, depending on
the configured "titleLen" value, the current display
resolution and the number of languages being
displayed (when "All languages" is selected).

Resolves: #99729
Releases: main, 11.5
Change-Id: I02458e5b7b0d136303499a83fb6c2fcb5bbc0ef8
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77618
Tested-by: core-ci <typo3@b13.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Tested-by: Oliver Bartsch <bo@cedev.de>
---
 .../backend/Classes/View/Drawing/BackendLayoutRenderer.php   | 5 ++++-
 .../Private/Partials/PageLayout/LanguageColumns.html         | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/typo3/sysext/backend/Classes/View/Drawing/BackendLayoutRenderer.php b/typo3/sysext/backend/Classes/View/Drawing/BackendLayoutRenderer.php
index e508442f3b3a..b414c4aacc8d 100644
--- a/typo3/sysext/backend/Classes/View/Drawing/BackendLayoutRenderer.php
+++ b/typo3/sysext/backend/Classes/View/Drawing/BackendLayoutRenderer.php
@@ -198,10 +198,13 @@ class BackendLayoutRenderer
      */
     public function drawContent(bool $renderUnused = true): string
     {
+        $backendUser = $this->getBackendUser();
+
         $this->view->assign('hideRestrictedColumns', (bool)(BackendUtility::getPagesTSconfig($this->context->getPageId())['mod.']['web_layout.']['hideRestrictedCols'] ?? false));
         $this->view->assign('newContentTitle', $this->getLanguageService()->getLL('newContentElement'));
         $this->view->assign('newContentTitleShort', $this->getLanguageService()->getLL('content'));
-        $this->view->assign('allowEditContent', $this->getBackendUser()->check('tables_modify', 'tt_content'));
+        $this->view->assign('allowEditContent', $backendUser->check('tables_modify', 'tt_content'));
+        $this->view->assign('maxTitleLength', $backendUser->uc['titleLen'] ?? 20);
 
         if ($this->context->getDrawingConfiguration()->getLanguageMode()) {
             if ($this->context->getDrawingConfiguration()->getDefaultLanguageBinding()) {
diff --git a/typo3/sysext/backend/Resources/Private/Partials/PageLayout/LanguageColumns.html b/typo3/sysext/backend/Resources/Private/Partials/PageLayout/LanguageColumns.html
index e6c606ad4a89..1ed8a157b255 100644
--- a/typo3/sysext/backend/Resources/Private/Partials/PageLayout/LanguageColumns.html
+++ b/typo3/sysext/backend/Resources/Private/Partials/PageLayout/LanguageColumns.html
@@ -57,7 +57,7 @@
                         </f:if>
                     </div>
                     {languageColumn.pageIcon -> f:format.raw()}
-                    {languageColumn.context.localizedPageTitle}
+                    {languageColumn.context.localizedPageTitle -> f:format.crop(maxCharacters: maxTitleLength)}
                 </td>
             </f:for>
         </tr>
-- 
GitLab