Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 外部文件中的细枝宏_Symfony_Twig - Fatal编程技术网

Symfony 外部文件中的细枝宏

Symfony 外部文件中的细枝宏,symfony,twig,Symfony,Twig,我有三个页面使用相同的宏。我将相同的代码部分放在所有三页的顶部。我可以把这个宏放在外部文件中并重用它吗 此处显示宏: {% macro generateMenu(item) %} <li> <h4> <a class="{{ item.class }}" href="{{ item.link }}"> {{ item.label }} </a>

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

此处显示宏:

{% 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>
调用宏:

{% 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>
事实上,有一些变化,我将使用一些参数。但重点是:我想把这个宏放在一个外部文件中以重用代码。

如文档所述:

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

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

{{ something.macro_in_that_file(some, params) }}
如文件所述:

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

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

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