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') %}
.
这样的结构
我正在尝试用树枝跟随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') %}
.