Skip to content

Commit fa2702e

Browse files
mabarMilan Felix Šulc
authored andcommitted
Look for layout templates of all parent presenters
1 parent a58c7d2 commit fa2702e

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

src/UI/Presenter/StructuredTemplates.php

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,22 @@ trait StructuredTemplates
1515
*/
1616
public function formatLayoutTemplateFiles(): array
1717
{
18-
$presenterReflection = new ReflectionClass(get_called_class());
19-
$presenterDir = dirname($presenterReflection->getFileName());
18+
$called = get_called_class();
19+
$classes = [$called] + class_parents($called);
20+
$list = [];
2021

21-
$parentPresenterReflection = new ReflectionClass(self::class);
22-
$parentPresenterDir = dirname($parentPresenterReflection->getFileName());
22+
foreach ($classes as $class) {
23+
// Skip Nette classes
24+
if (Strings::startsWith($class, 'Nette\\')) continue;
2325

24-
return [
25-
$presenterDir . '/templates/@layout.latte',
26-
$parentPresenterDir . '/templates/@layout.latte',
27-
];
26+
$presenterReflection = new ReflectionClass($class);
27+
$presenterDir = dirname($presenterReflection->getFileName());
28+
$list[] = $presenterDir . '/templates/@layout.latte';
29+
}
30+
31+
$list = array_unique($list);
32+
33+
return $list;
2834
}
2935

3036
/**

0 commit comments

Comments
 (0)