树枝和原子图案 - 清洁树枝渲染

时间:2015-05-15 09:55:43

标签: symfony twig frontend twig-extension

我正试着用树枝跟着atomic design pattern

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

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

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

能够做类似的事情我真棒!

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

我知道这可以通过twig函数实现,但我担心这个模式会因为代码库更大而变得棘手。

有关此的任何经验吗?干杯!

1 个答案:

答案 0 :(得分:1)

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

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

然后,您只需要使用macro一次导入twig文件。之后,您可以使用{% button('/section1','Example text') %}等结构。