Как перезаписать блок включенным файлом - PullRequest
0 голосов
/ 04 февраля 2019

Я хотел бы переопределить / расширить блок из 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...