Tutorials

Einige nützliche Hilfen und Code-Schnipsel, die ich immer wieder benötige und deshalb hier für alle sammle.

Zurück zur Übersicht

TYPO3: Mehrfache/Multiple DisplayCond ab TYPO3 6.1

#Tutorials#TYPO3

Seit TYPO3 6.1 wurde displayCond stark verbessert. So können nun mehrere Abfragen ermöglicht werden und das Ganze sogar verschachtelt. Hier ein paar Beispiele:

Einfaches Beispiel


<feld1>
    <TCEforms>
        <label>Feld 1</label>
        <config>
            <type>input</type>
            <size>30</size>
        </config>
    </TCEforms>
</feld1>
 
<feld2>
    <TCEforms>
        <label>Feld 2</label>
        <config>
            <type>input</type>
            <size>30</size>
        </config>
    </TCEforms>
</feld2>
 
<cond>
    <TCEforms>
        <label>Teste Bedingung</label>
        <displayCond>
            <AND>
                <numIndex>FIELD:feld1:REQ:TRUE</numIndex>
                <numIndex>FIELD:feld2:REQ:TRUE</numIndex>
                <OR>
                    <numIndex><![CDATA[FIELD:feld1:<:12]]></numIndex>
                    <numIndex>FIELD:feld2:>:20</numIndex>
                </OR>
            </AND>
        </displayCond>
        <config>
            <type>input</type>
            <size>30</size>
        </config>
    </TCEforms>
</cond>

Hier wird es etwas komplizierter: Das Testinput-Feld wird angezeigt wenn die Extension news geladen wurde etweder das test123-Feld nicht gefüllt oder das title-Feld gefüllt ist.

displayCond in FlexForms

Das Ganze geht auch in Flexforms:


'street' => array(
    'displayCond' => array(
        'AND' => array(
            'EXT:news:LOADED:TRUE',
            'OR' => array(
                'FIELD:test123:=:FALSE',
                'FIELD:title:=:TRUE',
            ),
        ),
    ),
    'label' => 'Testinput',
    'config' => array(
        'type' => 'input',
        'size' => 30
    ),
),

Verschachtelte Bedingungen


'street' => array(
    'displayCond' => array(
        'OR' => array(
            'FIELD:test123:=:FALSE',
            'FIELD:title:=:TRUE',
        ),
    ),
    'label' => 'Testinput',
    'config' => array(
        'type' => 'input',
        'size' => 30
    ),
),

OR-Bedingung


'street' => array(
    'displayCond' => array(
        'AND' => array(
            'FIELD:test123:=:FALSE',
            'FIELD:title:=:TRUE',
        ),
    ),
    'label' => 'Testinput',
    'config' => array(
        'type' => 'input',
        'size' => 30
    ),
),

Ab TYPO3 6.1

Seit der Version 6.1 ist es nun erstmals möglich mehrere Bedingungen zu setzen und diese sogar zu verschachteln. Das bringt enorm viele Vorteile. Hier ein paar Beispiele:

AND-Bedingung


'street' => array(
    'displayCond' => 'FIELD:test123:=:FALSE',
    'label' => 'Testinput',
    'config' => array(
        'type' => 'input',
        'size' => 30
    ),
),

Kommentare

Es gibt noch keine Kommentare. Sei der Erste!

Hinterlasse einen Kommentar

Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Kommentar wird gespeichert
Danke für deinen Kommentar! Sobald er freigegeben wurde erscheint er hier.