diff --git a/CHANGELOG b/CHANGELOG index a0e0694c1..26966d282 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,6 @@ # 3.9.2 (2024-XX-XX) - * n/a + * Fix usage of display_end hook # 3.9.1 (2024-04-17) diff --git a/src/Node/ModuleNode.php b/src/Node/ModuleNode.php index 10e94f681..df407caf0 100644 --- a/src/Node/ModuleNode.php +++ b/src/Node/ModuleNode.php @@ -336,12 +336,15 @@ final class ModuleNode extends Node $compiler->raw('$this->getParent($context)'); } $compiler->raw("->unwrap()->yield(\$context, array_merge(\$this->blocks, \$blocks));\n"); - } else { + } + + $compiler->subcompile($this->getNode('display_end')); + + if (!$this->hasNode('parent')) { $compiler->write("return; yield '';\n"); // ensure at least one yield call even for templates with no output } $compiler - ->subcompile($this->getNode('display_end')) ->outdent() ->write("}\n\n") ;