外部文件中的树枝宏

时间:2014-04-04 15:59:05

标签: symfony twig

我有三个页面使用相同的宏。我将相同部分的代码放在所有三个页面的顶部。我可以将此宏放在外部文件中并重复使用吗?

这里是宏:

{% macro generateMenu(item) %}
    <li>
        <h4>
            <a class="{{ item.class }}" href="{{ item.link }}">
                {{ item.label }}
            </a>
        </h4>
    </li>
{% endmacro %}

调用宏:

<ul class="">
    {% for item in Menu %}
        {{ _self.generateMenu(item) }}
    {% endfor %}
</ul>

事实上,有一些变化,我会使用一些参数。但重点是:我想将此宏放在外部文件中以重用代码。

1 个答案:

答案 0 :(得分:4)

正如文档所述:http://twig.sensiolabs.org/doc/tags/import.html

在外部文件中定义宏并将其导入到使用它的每个文件中:

{% import 'external.file.here' as something %}

{{ something.macro_in_that_file(some, params) }}