From 5bd79dc072f5d73f497fe74c9bbc80ab7b6bbdb8 Mon Sep 17 00:00:00 2001 From: Andy Miller Date: Sat, 3 Jan 2015 16:05:18 -0700 Subject: [PATCH] Added support for in-page twig processing in modular pages --- system/src/Grav/Common/Twig.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/system/src/Grav/Common/Twig.php b/system/src/Grav/Common/Twig.php index 770cf171a..cc4696475 100644 --- a/system/src/Grav/Common/Twig.php +++ b/system/src/Grav/Common/Twig.php @@ -176,14 +176,19 @@ class Twig $twig_vars['header'] = $item->header(); $local_twig = clone($this->twig); + $modular_twig = $item->modularTwig(); + $process_twig = isset($item->header()->process['twig']) ? $item->header()->process['twig'] : false; try { - // Get Twig template layout - if ($item->modularTwig()) { + // Process Modular Twig + if ($modular_twig) { $twig_vars['content'] = $content; $template = $item->template() . TEMPLATE_EXT; - $output = $local_twig->render($template, $twig_vars); - } else { + $output = $content = $local_twig->render($template, $twig_vars); + } + + // Process in-page Twig + if (!$modular_twig || ($modular_twig && $process_twig)) { $name = '@Page:' . $item->path(); $this->setTemplate($name, $content); $output = $local_twig->render($name, $twig_vars); @@ -192,7 +197,6 @@ class Twig throw new \RuntimeException($e->getRawMessage(), 404, $e); } - return $output; }