创建一个在模板中使用的宏

时间:2017-09-15 08:42:18

标签: symfony macros twig

我试图使用宏在KnpPaginator使用的表格中为排序添加一些向上和向下箭头。

我是宏的新手,对我来说文档有点乏味,所以我会尝试解释并展示我所做的事情。

我在我的Macro文件夹中创建了一个名为icons.html.twig的文件夹,其中包含我的宏

{% extends 'STBackofficeBundle::base.html.twig' %}

{% macro icon_class(type) %}
    {% set type_class = {
        sort: 'fa-angle-down'
    } %}
    {{ type_class[type] }}
{% endmacro %}

我在模板中导入了它

{% import "STBackofficeBundle:Macros:icons.html.twig" as icons %}

并尝试将其添加到表格标题

<th>{{ icons.icon_class('sort') }}</th>

所以它并没有真正起作用,因为它显示在字符串fa-angle-down中而不是图标本身。当我尝试删除引号时,我有一个错误。所以我不知道自己做错了什么?

1 个答案:

答案 0 :(得分:1)

它不起作用,因为目前你只是打印一个类名。

<th>
    <i class="fa {{ icons.icon_class('sort') }}" aria-hidden="true"></i>
</th>