Есть ли способ визуализации блока из включенного или родительского шаблона?
У меня есть 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’%}
но в моем случае мне пришлось сделать это во многих шаблонах с множеством различных операторов использования
Есть ли способ получить окончательный шаблон со всеми включениями, расширениями и блоками?
В файл content.html.twig необходимо добавить:
{% extends "EverlutionApplicationBundle::main.html.twig" %}
{% block navbar_profile_photo %}
{{ parent() }}
{% endblock navbar_profile_photo %}
.....
Других решений пока нет …