rbitdd
Returning Responder

CMS_SWITCH und mehrere Treffer

Jump to solution

Hallo Community,

ich möchte ein Switch über die file-extension des ausgewählten Mediums machen und darüber eine entsprechende Klasse setzen.

Jetzt möchte ich nicht für jede einzelne Dateiendung eine eigene Anweisung im Switch definieren, sondern auch Dateiendungen "gruppieren".

z.B. ppt und pps sollen die gleiche Klasse bekommen.

$CMS_SWITCH(ref(lt_mediaref).extension.lowerCase)$

        $CMS_SET(set_icon, "")$

       

    $CMS_CASE("ppt")$

    $CMS_CASE("pps")$

        $CMS_SET(set_icon, "klasse_fuer_ppt")$

       

$CMS_END_SWITCH$

Das funktioniert jedoch für ppt nicht. Smiley Sad

Ich muss die CSS-Definition zweimal machen...

$CMS_SWITCH(ref(lt_mediaref).extension.lowerCase)$

        $CMS_SET(set_icon, "")$

       

    $CMS_CASE("ppt")$

       $CMS_SET(set_icon, "klasse_fuer_ppt")$

   $CMS_CASE("pps")$

        $CMS_SET(set_icon, "klasse_fuer_ppt")$

       

$CMS_END_SWITCH$

Gibt es eine Möglichkeit die Fälle zusammen zu fassen?

Viele Grüße

Diana

0 Kudos
1 Solution

Accepted Solutions
Peter_Jodeleit
Crownpeak employee
$CMS_SWITCH(ref(lt_mediaref).extension.lowerCase)$

        $CMS_SET(set_icon, "")$
       
    $CMS_CASE( { "ppt", "pps" } )$
        $CMS_SET(set_icon, "klasse_fuer_ppt")$
       
$CMS_END_SWITCH$

Erklärung: { "ppt", "pps" } ist eine Menge mit zwei Elementen, geprüft wird auf 'enthalten sein'.

Peter

View solution in original post

0 Kudos
5 Replies
Peter_Jodeleit
Crownpeak employee
$CMS_SWITCH(ref(lt_mediaref).extension.lowerCase)$

        $CMS_SET(set_icon, "")$
       
    $CMS_CASE( { "ppt", "pps" } )$
        $CMS_SET(set_icon, "klasse_fuer_ppt")$
       
$CMS_END_SWITCH$

Erklärung: { "ppt", "pps" } ist eine Menge mit zwei Elementen, geprüft wird auf 'enthalten sein'.

Peter
0 Kudos

Vielen Dank für die schnelle, und vor allem richtige, Antwort. Smiley Happy

0 Kudos

Ich hab da doch noch eine Frage...

Die Kundin möchte die Listen jetzt pflegbar haben.

Ich habe zu Testzwecken ein CMS_SET in das entsprechende Template eingefügt und die Werte dort definiert.

Im CMS_CASE habe ich dann zum einen den Wert so und auch via .toString() angegeben. Beides führt leider nicht zum gewünschten Erfolg.

Gibt es hier eine Möglichkeit die Werte von Case z.B. über eine einfache Texteingabekomponente in der GCA pflegbar zu machen? Oder lieber eine Liste?

Freue mich auf Antworten.

Viele Grüße

0 Kudos

Wichtig ist, das in $CMS_CASE entweder nur ein Wert vom Typ "String" steht (entweder als Konstanste oder als Variable) oder eine Liste/Menge dessen Elemente vom Typ "String" sind.

Peter

Vielen Dank für den Denkanstoß...

0 Kudos