Я хотел бы знать, как визуализировать «шаблон внутри другого шаблона». У меня есть такой шаблон:Twig визуализировать шаблон внутри шаблона
[...]
{% autoescape false %}
{{ page.content }}
{% endautoescape %}
[...]
«page.content» может быть оценен с некоторой веточкой! Например, он может содержать некоторые вызовы, как
{{ myObject.poperty }}
или даже
{% render "MyBundle:Bundle:myAction" with {'title': myObject.title} %}
По умолчанию, содержание page.content не анализируется Twig. Так что я сделал расширение и я могу разобрать вызовы как {{}} page.content
Мое расширение выглядит следующим образом:
$loader = new \Twig_Loader_String();
$this->environment->setLoader($loader);
$template = $this->environment->loadTemplate($string);
$output = $template->display(array('myObject' => $object));
Но я до сих пор не в состоянии rendre второго рода вызова {% делают ....%}
Я попытался сделать:
$stream = $this->environment->tokenize($string);
$nodes = $this->environment->parse($stream)->getNode('body')->getNode(0);
$output = $this->environment->compile($nodes);
Но я застрял ...
Знаете ли вы, как я мог бы отобразить значение «page.content»?