Наследование данных в лаборатории веточек
Я использую ветку Pattern Lab включает в себя с длинным синтаксисом (необходимо по причинам интеграции), иначе {% include "@atoms/path/to/pattern.twig" %}
,
Если у меня есть переменные, определенные в шаблоне, а затем включить этот шаблон в другой шаблон, переменные включенного шаблона устанавливаются в null
, если я не перейду в новый контекст с with
,
Например:
мой атом
<p>{{ myvar }}</p> {# myvar is set when viewing my-atom directly #}
моя молекула
<div>{% include "@atoms/my-atom/my-atom.twig" %}</div> {# Prints an empty <p> tag #}
<div>{% include "@atoms/my-atom/my-atom.twig" with { myvar: "Hello!" } %}</div> {# Prints "<p>Hello!</p>" #}
Я ожидаю, что переменные из молекулы будут течь вниз к атому, возвращаясь к значениям атома, если переменная не определена в молекуле, подобно тому, как работает синтаксис короткой руки (иначе {% include "atoms-my-atom" %}
).
Это особенность? Жук? Я что-то упускаю?
Большое спасибо заранее!
1 ответ
Насколько я знаю, он работает так, как задумано, по крайней мере, в Symfony он работает именно так, я не знаю, почему это так. Вот почему я предпочитаю отображать эти частичные представления в моем контроллере и передавать их в основное представление как переменные.