Наследование данных в лаборатории веточек

Я использую ветку 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 он работает именно так, я не знаю, почему это так. Вот почему я предпочитаю отображать эти частичные представления в моем контроллере и передавать их в основное представление как переменные.

Другие вопросы по тегам