我遇到了以下问题: 我正在使用TWIG和foreach循环来生成包含数据库内容的html表。为了更好地概览表格,我想为每个第2行着色。因此,我利用了树枝提供的循环功能。我的twig模板看起来像这样:
<tbody>
{% for category in categories %}
<tr class="gradeA {{ cycle(['even', 'odd'], loop.index0) }}">
<td class="sorting_1" >
{{ category.name }}
</td>
<td>
{{ category.parent }}
</td>
<td>
{% if category.createdAt %}
{{ category.createdAt|date('Y-m-d H:i:s') }}
{% endif %}
</td>
<td>
{% if category.modifiedAt %}
{{ category.modifiedAt|date('Y-m-d H:i:s') }}
{% endif %}
</td>
<td>
<a style="text-decoration: none">
<img src="{{ asset('bundles/winpimpcore/images/icons/Axialis-Square-Light-Grey-Png/32x32/Write.png') }}" />
</a>
<a href="{{ path('_category_delete', { 'id': category.id }) }}" style="text-decoration: none">
<img src="{{ asset('bundles/winpimpcore/images/icons/Axialis-Square-Light-Grey-Png/32x32/Trash.png') }}" />
</a>
</td>
</tr>
{% endfor %}
</tbody>
生成的输出是这个(我省略了tr内容,因为它不相关):
<tbody>
<tr class="gradeA odd">
<tr class="gradeA even">
<tr class="gradeA even odd">
<tr class="gradeA odd even">
<tr class="gradeA odd">
<tr class="gradeA even">
<tr class="gradeA even odd">
<tr class="gradeA even">
</tbody>
所以TWIG会产生['even','odd']的任何可能组合,但我需要的是:
<tbody>
<tr class="gradeA odd">
<tr class="gradeA even">
<tr class="gradeA odd">
<tr class="gradeA even">
<tr class="gradeA odd">
<tr class="gradeA even">
<tr class="gradeA odd">
<tr class="gradeA even">
...
</tbody>
我是否遗漏了某些东西,甚至不理解循环功能的目的?
答案 0 :(得分:0)
你不能class="{% if loop.index is odd %}odd{% endif %}"
和class="{% if loop.index is even %}even{% endif %}"
,所有的计算都是为你完成的! :)
答案 1 :(得分:0)
你应该改变这一行(索引末尾的拼写错误)
OBJS := \
$(patsubst %.c, %.o,$(C_SRCS))
# add linker script
OBJS += \
/src/general/config/startup_stm32f429xx.o
C_DEPS := \
$(patsubst %.c,%.d,$(C_SRCS))
#$(info C_DEPS='$(C_DEPS)')
# compile src files
%.o: %.c
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc $(CFLAGS) $(INCDIRS) -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '
到
var reg = new RegExp('\\b(tap(?!\"))', 'ig')
('tap click "tap" tap.').match(reg)
我确实尝试过,但效果很好。
答案 2 :(得分:0)
这是一个可以在CSS中完全解决的问题(并且应将样式相关的代码保留在IMO的样式表中)。不必将odd
和even
类应用于每一行,而是可以通过以下方式对整个表进行样式设置:
.mytableclassname tbody tr:nth-child(odd) {
background-color: #ccc;
}
.mytableclassname tbody tr:nth-child(even) {
background-color: #fff;
}