Twig and atomic pattern——干净的树枝渲染

Twig and atomic pattern — Clean twig rendering

我正在尝试用树枝跟随atomic design pattern

当渲染一个简单的原子时,我需要做类似的事情:

{% include '@MyBundle/Resources/views/atoms/button/button.html.twig' with { href: '/section1', text: 'Example text' } only %}

当原子或组件有更多变量,或者目录结构有点复杂时,这种方法开始变得混乱。

如果我能做这样的事情就好了:

{% button('/section1','Example text') %}

我知道这可以通过 twig 函数实现,但我担心这种模式在代码库较大时会变得棘手。

有这方面的经验吗?干杯!

您可以使用 macro 结构。阅读文档:http://twig.sensiolabs.org/doc/tags/macro.html

{% macro button(href, text) %}
    {% here you can place your template %}
{% endmacro %}

然后您只需要使用 macro 导入您的树枝文件一次。之后你可以使用像 {% button('/section1','Example text') %}.

这样的结构