From bad24f8a852dc46362cfdaded34c6649027b6667 Mon Sep 17 00:00:00 2001 From: Andy Miller Date: Mon, 3 Aug 2020 20:25:01 -0600 Subject: [PATCH] support returning object Signed-off-by: Andy Miller --- system/src/Grav/Common/Twig/TwigExtension.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/system/src/Grav/Common/Twig/TwigExtension.php b/system/src/Grav/Common/Twig/TwigExtension.php index 21699898b..21e91bcd8 100644 --- a/system/src/Grav/Common/Twig/TwigExtension.php +++ b/system/src/Grav/Common/Twig/TwigExtension.php @@ -1370,11 +1370,12 @@ class TwigExtension extends AbstractExtension implements GlobalsInterface * Look for a page header variable in an array of pages working its way through until a value is found * * @param $context - * @param string $var - * @param string|string[]|null $pages + * @param string $var the variable to look for in the page header + * @param string|string[]|null $pages array of pages to check (current page upwards if not null) + * @param bool $exists if true, return the page where the var is found, not the value * @return mixed */ - public function pageHeaderVarFunc($context, $var, $pages = null) + public function pageHeaderVarFunc($context, $var, $pages = null, $exists = false) { if ($pages === null) { $page = $context['page']; @@ -1398,7 +1399,12 @@ class TwigExtension extends AbstractExtension implements GlobalsInterface if ($page) { $header = $page->header(); if (isset($header->{$var})) { - return $header->{$var}; + if ($exists) { + return $page; + } else { + return $header->{$var}; + } + } } }