Twig — визуализировать блок из включенного или родительского шаблона

Есть ли способ визуализации блока из включенного или родительского шаблона?

У меня есть 3 шаблона

main.html.twig:

{% include 'navbar.html.twig' %}

<div id="main_content">
{% block application_content %}
{% endblock application_content %}
</div>

{% block application_footer %}
footer
{% endblock application_footer %}

navbar.html.twig:

<p>bla bla</p>
{% block navbar_profile_photo %}
<img src="{{ image }}">
{% endblock navbar_profile_photo %}

content.html.twig:

{% extends "main.html.twig" %}

{% block application_content %}
lorem ipsum

{% block foo %}
dolor sit amet
{% endblock foo %}

{% endblock application_content %}

Я хочу быть в состоянии назвать что-то вроде этого

$ twig-> loadTemplate (‘content.html.twig’) -> renderBlock (‘navbar_profile_photo’, array (‘image’ => ‘bar.jpg’))

Но я могу получить только блоки из ‘content.html.twig’

$ Twig-> LoadTemplate ( ‘content.html.twig’) -> getBlockNames ();

возвращается

[‘application_content’, ‘foo’]

Я мог бы добавить к content.html.twig

{% use ‘navbar.html.twig’%}

но в моем случае мне пришлось сделать это во многих шаблонах с множеством различных операторов использования

Есть ли способ получить окончательный шаблон со всеми включениями, расширениями и блоками?

4

Решение

В файл content.html.twig необходимо добавить:

{% extends "EverlutionApplicationBundle::main.html.twig" %}
{% block navbar_profile_photo %}
{{ parent() }}
{% endblock navbar_profile_photo %}
.....
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]