From a5b5f894c7061e85b2197359b346952283d4e3b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Till=20H=C3=B6rner?= Date: Wed, 18 Mar 2026 13:23:16 +0100 Subject: [PATCH] [BUGFIX] Ignore language comparison mode in grid span calculation Fixes: #692 --- Classes/Backend/Grid/ContainerGrid.php | 30 ++++++++++++++++++++ Classes/Backend/Grid/ContainerGridColumn.php | 10 +++++++ Classes/Backend/Preview/GridRenderer.php | 4 +-- 3 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 Classes/Backend/Grid/ContainerGrid.php diff --git a/Classes/Backend/Grid/ContainerGrid.php b/Classes/Backend/Grid/ContainerGrid.php new file mode 100644 index 00000000..892cd3df --- /dev/null +++ b/Classes/Backend/Grid/ContainerGrid.php @@ -0,0 +1,30 @@ +rows[0])) { + return 1; + } + $span = 0; + foreach ($this->rows[0]->getColumns() as $column) { + $span += $column->getColSpan(); + } + return $span ?: 1; + } +} diff --git a/Classes/Backend/Grid/ContainerGridColumn.php b/Classes/Backend/Grid/ContainerGridColumn.php index f34efda0..afc0a723 100644 --- a/Classes/Backend/Grid/ContainerGridColumn.php +++ b/Classes/Backend/Grid/ContainerGridColumn.php @@ -64,4 +64,14 @@ public function getNewContentUrl(): string } return $this->newContentUrl; } + + public function getColSpan(): int + { + return $this->colSpan; + } + + public function getRowSpan(): int + { + return $this->rowSpan; + } } diff --git a/Classes/Backend/Preview/GridRenderer.php b/Classes/Backend/Preview/GridRenderer.php index 1107bd6b..728335a6 100644 --- a/Classes/Backend/Preview/GridRenderer.php +++ b/Classes/Backend/Preview/GridRenderer.php @@ -12,6 +12,7 @@ * of the License, or any later version. */ +use B13\Container\Backend\Grid\ContainerGrid; use B13\Container\Backend\Grid\ContainerGridColumn; use B13\Container\Backend\Grid\ContainerGridColumnItem; use B13\Container\Backend\Service\NewContentUrlBuilder; @@ -21,7 +22,6 @@ use B13\Container\Tca\Registry; use Psr\EventDispatcher\EventDispatcherInterface; use TYPO3\CMS\Backend\Utility\BackendUtility; -use TYPO3\CMS\Backend\View\BackendLayout\Grid\Grid; use TYPO3\CMS\Backend\View\BackendLayout\Grid\GridRow; use TYPO3\CMS\Backend\View\PageLayoutContext; use TYPO3\CMS\Core\Authentication\BackendUserAuthentication; @@ -43,7 +43,7 @@ public function __construct( public function renderGrid(array $record, PageLayoutContext $context): string { - $grid = GeneralUtility::makeInstance(Grid::class, $context); + $grid = GeneralUtility::makeInstance(ContainerGrid::class, $context); try { $container = $this->containerFactory->buildContainer((int)$record['uid']); } catch (Exception $e) {