Twig: Включенный шаблон расширяет родительский Javascript blo c? - PullRequest
0 голосов
/ 10 февраля 2020

Я кодирую проект на Symfony, и для страницы мне нужно разделить на несколько шаблонов, которые я включаю в основной шаблон.

Представьте себе эту конфигурацию:

base. html .twig

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        {% block stylesheets %}{% endblock %}

    </head>

    <body>
        {% block body %}{% endblock %}

        {{ encore_entry_script_tags('js/app') }} //like Jquery

        {% block javascripts %}{% endblock %}
    </body>
</html>

template1. html .twig

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

#template1.html.twig
{% block body %}
    Some content

    {% include "template2.html.twig" %}
{% endblock %}

{% block javascripts %}

    {# Some scripts . . . #}
{% endblock %}

template2. html .twig:

#template2.html.twig
{% block body %}
    Some content
{% endblock %}

{% block javascripts %}

    {# Some scripts using Jquery . . . #}
{% endblock %}

В этой конфигурации я не могу использовать Jquery в template2. html .twig , даже если я импортировал его как CDN в шаблон base. html .twig .

Итак, как получить шаблон 2 для наследования импорта скриптов, сделанного в base. html .twig ?

Это всего лишь простой пример.

Реальная проблема, с которой я сталкиваюсь, похожа. У меня есть base. html .twig все мои обязательные импорты, которые передаются дочерним шаблонам, и это работает.

С другой стороны, если мои шаблоны, которые расширяют base. html .twig также включает другие шаблоны, поэтому я больше не могу использовать скрипты, импортированные в мою base. html .twig

...