Я хотел бы переопределить / расширить блок из layout.twig из включенного файла ветки.
Как мне этого добиться?
Причина этого в том, что я передал некоторые элементы в разные файлы веток, чтобы иметь возможность использовать их снова и снова.Эти файлы веток должны быть расширены в layout.twig.
Я пробовал разные решения:
Тег embed только перезаписывает блоки внутри включенного файла.
Тег use не делаетразрешить расширение родительского блока в layout.twig.
Также [https://github.com/rybakit/twig-deferred-extension] не дал желаемого эффекта.
layout.twig
<div style="color:red;">
{% block content %}
<h1>content: layout</h1>
{% endblock %}
</div>
<div style="color:blue;">
{% block morecontent %}
<h1>morecontent: layout</h1>
{% endblock %}
</div>
content.twig
{% extends "layout.twig" %}
{% block content %}
<h1>content: content</h1>
{% include "include.twig" %}
{% include "include2.twig" %}
{% endblock %}
include.twig
<h1>content: include</h1>
{% block morecontent %}
<h1>morecontent: include</h1>
{% endblock %}
include2.twig
<h1>content: include2</h1>
{% block morecontent %}
<h1>morecontent: include2</h1>
{% endblock %}
Таким образом, «morecontent» включаемых файлов будет помещено непосредственно после содержимого.
<div style="color:red;">
<h1>content: content</h1>
<h1>content: include</h1>
<h1>morecontent: include</h1>
<h1>content: include2</h1>
<h1>morecontent: include2</h1>
</div>
<div style="color:blue;">
<h1>morecontent: layout</h1>
</div>
Но я хочу, чтобы они были внутри более содержательного блока layout.twig
<div style="color:red;">
<h1>content: content</h1>
<h1>content: include</h1>
<h1>content: include2</h1>
</div>
<div style="color:blue;">
<h1>morecontent: layout</h1>
<h1>morecontent: include</h1>
<h1>morecontent: include2</h1>
</div>