Skip to content

Commit bf20540

Browse files
committed
OXDEV-9553 Draft
1 parent 2d3acb2 commit bf20540

2 files changed

Lines changed: 10 additions & 0 deletions

File tree

src/Resolver/TemplateChain/DataObject/TemplateChain.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
use ArrayIterator;
1313
use IteratorAggregate;
14+
use OxidEsales\Twig\Resolver\TemplateChain\TemplateType\DataObject\ModuleExtensionTemplateType;
1415
use OxidEsales\Twig\Resolver\TemplateChain\TemplateType\DataObject\TemplateTypeInterface;
1516
use Traversable;
1617

@@ -94,4 +95,9 @@ public function getIterator(): Traversable
9495
{
9596
return new ArrayIterator($this->chain);
9697
}
98+
99+
public function prepend(ModuleExtensionTemplateType $templateType)
100+
{
101+
$this->chain = [$templateType->getFullyQualifiedName() => $templateType] + $this->chain;
102+
}
97103
}

src/Resolver/TemplateChain/TemplateHandler/ModuleExtensions/ModuleTemplateHandler.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ public function addToChain(
3232
return $templateChain;
3333
}
3434
$extension = $this->getExtension($templateType, $directory);
35+
if ($templateChain->hasModuleId($extension->getParentNamespace()) && $extension->getParentNamespace() !== $extension->getNamespace()) {
36+
$templateChain->prepend($extension);
37+
return $templateChain;
38+
}
3539
return $this->chainAppender->addToChain($templateChain, $extension, $directory);
3640
}
3741

0 commit comments

Comments
 (0)