Включение элемента id или переменной из другого шаблона TWIG

Я освоил основы использования TWIG для создания своего сайта. Я полагаю, я знаю, как использовать {%extend%} {%block%} {%include%} а также {%set%}в самом общем смысле.

Я хотел бы включить блок кода из другого файла ветки, не включая весь файл — в отличие от {% include 'file.twig' %},

Я понял, как установить переменную в file.twig и вывести его с помощью {{ variable | raw }}, Я хотел бы сделать это в другом файле, как вы бы с использованием jQuery’s .load функция.

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

1

Решение

Я считаю, что вы ищете горизонтальное наследование через use тег:

Оператор use указывает Twig импортировать блоки, определенные в blocks.html, в текущий шаблон (это похоже на макросы, но для блоков)

Запутанная часть заключается в том, что само по себе, {% use ... на самом деле не вставит содержание блоков в указанном шаблоне. Для этого вы должны использовать block(...) функция:

index.twig

{% use "blocks.twig" %}

{{ block('name') }}

blocks.twig

{% block name %}
<h1>Alex Weissman</h1>
{% endblock %}

{% block hobby %}
<p>Blanchin'</p>
{% endblock %}

Для рабочего примера посмотрите мой TwigFiddle (да, это реальная вещь!): http://twigfiddle.com/jjbfug

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]