我正在使用KNPPanginator Bundle,对它非常满意。
但我无法找到,如何在顶部更换我的分拣机,用图标代替文字。这是我的Twig代码:
{% block pagination_head %}
<thead>
<tr>
<th>{{ pagination.sortable('likes', 'u.likePoints')|raw }}</th>
<th>{{ pagination.sortable('title', 'u.title')|raw }}</th>
<th>{{ pagination.sortable('date', 'u.created')|raw }}</th>
</tr>
</thead>
{% endblock %}
那么我需要做些什么来获得一个重击图标,而不是“喜欢”这个词?
我尝试在那里设置<img src...>
,但没有帮助。
答案 0 :(得分:2)
嗯,首先你需要有一个拇指向上的图像资产。假设你得到一个并把它放在这里:web/images/like.png
然后您需要做的就是这个(假设pagination.sortable('likes', 'u.likePoints')
返回字符串“like”):
<th>{{ asset( "images/" ~ pagination.sortable('likes', 'u.likePoints') ~ ".png" }}</th>
当然,您可能希望将图片资源放在捆绑包中并使用assets:install web
发布,以用于封装/组织目的。
有很多方法可以解决你所说的问题。一个是macro。
在你的\ Bundle \ Resources \ views \ Macros \ bootstrap.html.twig
中{% macro icon_class( type ) %}
{% set type_class_map = {
like: 'icon-user'
} %}
{{ type_class_map[type] }}
{% endmacro %}
然后,在模板中,您需要
{% import "YourBundle:Macros:bootstrap.html.twig" as bootstrap %}
{% set heading = pagination.sortable('likes', 'u.likePoints') %}
<th class="{{ bootstrap.icon_class(heading) }}">{{ heading }}</th>