Ответ 1
Вы пытались использовать использовать?
К сожалению, я не совсем уверен, правильно ли получил вопрос, но {% use %}
здесь не упоминался.
Как я понимаю, у вас есть ваш article.html.twig
и включить его, например. index.html.twig
. Теперь вы хотите добавить что-то из article.html.twig
в index.html.twig
? А именно в блок {% stylesheets %}
.
Если бы я получил способ использования {% use %}
, вы могли бы попробовать его вот так.
article.html.twig
{% block stylesheets %}
<link rel="stylesheet" href="{{ asset('bundles/mybundle/css/article.css') }}" type="text/css" />
{% endblock %}
{% block article %}
{# whatever you do here #}
{% endblock %}
index.html.twig
{% use "VendorBundle:article.html.twig" with stylesheets as article_styles %}
{% block stylesheets %}
{{ block('article_styles') }}
{# other styles here #}
{% endblock %}
{% for article in articles %}
{% include VendorBundle:article.html.twig with { 'article': article } %}
{% endfor %}
У меня нет возможности проверить его, но в документе говорится несколько очень интересных вещей, и похоже, что это может быть способ сделать это.
Горизонтальное повторное использование - это расширенная функция Twig, которая вряд ли когда-либо понадобится в обычных шаблонах. Он в основном используется проектами, которые требуют, чтобы блоки шаблонов были повторно использованы без использования наследования.
Я новичок в stackoverflow. Поэтому, пожалуйста, если мой ответ абсолютно бесполезен, вы можете просто оставить комментарий перед голосованием, и я удалю его? Однако, если это помогает, и в моем примере есть только некоторые ошибки, также сообщите мне, и я исправлю это.