我有以下选择flexform
<config>
<type>select</type>
<items type='array'>
<numIndex index='0' type='array'>
<numIndex index='0'>freie Plätze</numIndex>
<numIndex index='1'>freie Plätze</numIndex>
</numIndex>
<numIndex index='1' type='array'>
<numIndex index='0'>ausgebucht</numIndex>
<numIndex index='1'>ausgebucht</numIndex>
</numIndex>
</items>
(...)
</config>`
我想用FE中的不同颜色设置不同答案的样式
numIndex index='0' = green
numIndex index='1' = red
但我找不到任何解决方案,所以我无法提出任何想法。对不起。
我使用带有DCE的TYPO3 7.6.16和带有响应表的流畅模板
<f:for each="{field.kurs}" as="kurs">
<tr>
<td>(...)</td>
<td data-label="Status">{kurs.kursStatus}</td>
<td>(...)</td>
</tr>
(...)
答案 0 :(得分:1)
您的选择是否在Flexform中?试试这个:
<settings.offer>
<TCEforms>
<label>Offer</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<items>
<numIndex index="1">
<numIndex index="0">freie Plätze</numIndex>
<numIndex index="1">free</numIndex>
</numIndex>
<numIndex index="2">
<numIndex index="0">ausgebucht</numIndex>
<numIndex index="1">booked-up</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</settings.offer>
在模板中添加css类:
<f:for each="{field.kurs}" as="kurs">
<ul>
<li>(...)</li>
<li class="{f:if(condition: {settings.offer} == 'free', then: 'green', else 'red') }"></li>
<li>(...)</li>
</ul>
(...)
答案 1 :(得分:0)
我无法在DCE中使用@Heinz Schilling的想法,但我找到了DCE的另一个解决方案
这是flexform
<config>
<type>select</type>
<items type='array'>
<numIndex index='0' type='array'>
<numIndex index='0'></numIndex>
<numIndex index='1'></numIndex>
</numIndex>
<numIndex index='1' type='array'>
<numIndex index='0'>freie Plätze</numIndex>
<numIndex index='1'>1</numIndex>
</numIndex>
<numIndex index='2' type='array'>
<numIndex index='0'>ausgebucht</numIndex>
<numIndex index='1'>2</numIndex>
</numIndex>
</items>
<size>1</size>
<minitems>1</minitems>
<maxitems>1</maxitems>
这是流体模板
<f:if condition="{kurs.kursStatus}==1">
<td data-label="Status" class="green">freie Plätze</td>
</f:if>
<f:if condition="{kurs.kursStatus}==2">
<td data-label="Status" class="red">ausgebucht</td>
</f:if>