TYPO3选择Flexform的样式

时间:2017-03-30 20:49:25

标签: typo3 fluid

我有以下选择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>
(...)                               

2 个答案:

答案 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>