0

小枝でアトミックデザインパターンに従おうとしています。

単純なアトムをレンダリングするときは、次のようにする必要があります。

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

このアプローチは、アトムまたはコンポーネントがより多くの変数を持っている場合、またはディレクトリ構造がもう少し複雑である場合に厄介になります。

私は次のようなことができれば素晴らしいと思います:

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

これは twig 関数で実現できることはわかっていますが、このパターンがより大きなコード ベースでは扱いにくくなる可能性があるのではないかと心配しています。

このあたりの経験はありますか?乾杯!

4

1 に答える 1

1

構造を使用できます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') %}

于 2015-05-15T11:19:59.120 に答える