Skip to content

Commit 18c14c3

Browse files
committed
Render a maximum number of targets of 100 by default (DI-configurable)
1 parent 32e84d3 commit 18c14c3

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

Util/Controller/TargetRenderer.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,20 @@ public function __construct(
1717
private readonly LayoutHandlerComposite $layoutHandlerComposite,
1818
private readonly LayoutLoader $layoutLoader,
1919
private readonly PageLayoutConfigBuilder $pageLayoutConfigBuilder,
20+
private readonly int $maximumTargets = 100
2021
) {
2122
}
2223

2324
public function render(LayoutInterface $originalLayout, array $targetNames, bool $isolated = false): array
2425
{
26+
$targetNames = array_slice($targetNames, 0, $this->maximumTargets);
2527
$originalUpdate = $originalLayout->getUpdate();
2628
$originalHandles = $originalUpdate->getHandles();
2729
$pageHandles = $this->extractPageHandles($originalUpdate, $originalHandles);
2830
$handles = $this->layoutHandlerComposite->getHandles(
2931
array_values(array_diff($originalHandles, $pageHandles))
3032
);
33+
3134
$newLayout = $this->layoutLoader->load($handles, $pageHandles, $isolated);
3235

3336
return $this->renderBlocks($newLayout, $this->getTargetBlockNames($newLayout, $targetNames));

0 commit comments

Comments
 (0)