我正在使用KNP血管新生仪捆绑包,对此非常满意。
但我找不到如何用图标而不是文本替换顶部的排序器。这是我的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...>
放进去,但无济于事。
首先,您需要一个拇指向上的图像资产。假设你确实得到了一个并放在这里:web/images/like.png
那么您所需要做的就是(假设pagination.sortable('likes', 'u.likePoints')
返回字符串"like"):
<th>{{ asset( "images/" ~ pagination.sortable('likes', 'u.likePoints') ~ ".png" }}</th>
当然,出于封装/组织目的,您可能希望将图像资源放在捆绑包中,并使用assets:install web
发布它。
编辑
有很多方法可以解决你所说的问题。其中之一是制作一个宏。
在您的\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>