Twig - разбирать переменные из импортированного шаблона - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь добавить новую функцию в файл расширения Twig, который включает в себя шаблон и анализирует переменные из включенного шаблона.И я понятия не имею, как получить переменную из импортированного шаблона.

Мои шаблоны

Config.html

{% set myVariable= "MyVariable" %} 

template.html

{{layout("config") }} 

My Config Variable: {{ myVariable }} 

Это мой класс расширения веток.

class TwigExtensions extends \Twig_Extension {

public function getFunctions()
{
    return array(
        new \Twig_SimpleFunction(
            'layout',  array($this, 'twig_layout', ),  [ 'needs_environment' => true,  'needs_context' => true,  'is_safe' => ['all'] ]
        )
    );
}

function twig_layout(\Twig_Environment &$env, &$context, $template, $variables = [], $withContext = true, $ignoreMissing = false, $sandboxed = false)
{
    $file_name      = (string)$template . ".html";

    if ($withContext) {
        $variables = array_merge($context, $variables);
    }

    $result = '';
    try {
        $result = $env->resolveTemplate($file_name)->render($variables);

        // how to get variables from $file_name tempalte

    } catch (Throwable $e) {
        return "NULL"
    }


    return $result;
}
}
...