Skip to main content

Tabs mittels CMS_INPUT_RADIOBUTTON ein-/ausblenden

Comments

4 comments

  • Zendesk API User
    Author: sense - 10/16/2017 13:03

    Du solltest deinem CMS_GROUP einen Namen geben, also z. B. so

    <CMS_GROUP name="cg_general">

    Dann kannst Du in den Regeln via #form.cg_general darauf zugreifen und die Sichtbarkeit beeinflussen.

    Dieses ist in der Doku auch beschrieben: help/odfs/vorlagenentwick/vorlagensyntax/systemobjekte/form/index.html

    0
  • Zendesk API User
    Author: FabsH - 10/16/2017 13:18

    Hi Sven,

    erstmal danke für die Antwort.

    Wie du in meinem Beitrag aber sehen kannst, habe ich meinen CMS_GROUPS bereits Namen gegeben...

    Wie schon gesagt vermute ich, dass es problematisch ist, wenn mehrere Regeln auf dieselben Objekte zugreifen. Scheinbar blockieren/überschreiben sich die Regeln dann gegenseitig. Je nach Anordnung der Regeln ist das Ergebnis ein anderes. Auf mein Szenario bezogen (vereinfacht):

    - 4 Elemente (Spalte 1, 2, 3 und 4)

    - per Auswahl durch Redakteur werden entweder Tabs "1 und 2" oder "3 und 4" oder "alle" angezeigt

    Obiges geht leider nicht, da ich entweder  "1 und 2" und "3 und 4" sehe und "alle" nicht oder umgekehrt (also "alle" kann ich sehen, "1 und 2" und "3 und 4" aber nicht). Kommt halt ganz darauf an, wie rum ich die Regeln stelle. Es scheint so, dass die zuletzt betrachtete Regel die vorhergegangenen überschreibt.

    So soll das ganze am Ende aussehen:

    Vorerst habe ich es so gelöst, dass ich die komplette CMS_GROUP vier mal erstellt habe, so dass jede Variante über die entsprechenden Spaltenzahlen verfügt. Das ist aber höchst unpraktisch, da ich so beispielsweise die Eingabekomponenten für Spalte 1 ebenfalls vier mal anlegen muss (für die Pflege/Wartung/Erweiterung sehr unpraktisch)...

    0
  • Zendesk API User
    Author: mbergmann - 10/16/2017 14:15

    Hallo Fabian,

    das liegt - wie Du schon vermutest - daran, dass hier einzelne Regeln "parallel" arbeiten, also letztlich nicht widerspruchsfrei sind. Die Reihenfolge der Regelauswertung ist generell nicht festgelegt, da sie letztlich Ereignisgesteuert arbeiten. Sie werden also nicht zwingend "von oben nach unten" abgearbeitet.

    Du müsstest per Vorbedingung (IF) letztlich dafür sorgen, dass immer nur eine Regel "anspringt", die die Sichtbarkeit dann für alles setzt. Dabei kannst Du das NOT innerhalb des DO nutzen.

    <RULE>

      <IF>

        <EQUAL>

          <PROPERTY name="ENTRY" source="st_columns"/>

          <TEXT>1</TEXT>

        </EQUAL>

      </IF>

    <WITH>

      <TRUE />

    </WITH>

      <DO>

        <PROPERTY name="VISIBLE" source="#form.column1"/>

        <NOT>

          <PROPERTY name="VISIBLE" source="#form.column2"/>

          <PROPERTY name="VISIBLE" source="#form.column3"/>

          <PROPERTY name="VISIBLE" source="#form.column4"/>

        </NOT>

      </DO>

    </RULE>

    <RULE>

      <IF>

        <EQUAL>

          <PROPERTY name="ENTRY" source="st_columns"/>

          <TEXT>2</TEXT>

        </EQUAL>

      </IF>

    <WITH>

      <TRUE />

    </WITH>

      <DO>

        <PROPERTY name="VISIBLE" source="#form.column1"/>

        <PROPERTY name="VISIBLE" source="#form.column2"/>

        <NOT>  

          <PROPERTY name="VISIBLE" source="#form.column3"/>

          <PROPERTY name="VISIBLE" source="#form.column4"/>

        </NOT>

      </DO>

    </RULE>

    <RULE>

      <IF>

        <EQUAL>

          <PROPERTY name="ENTRY" source="st_columns"/>

          <TEXT>3</TEXT>

        </EQUAL>

      </IF>

    <WITH>

      <TRUE />

    </WITH>

      <DO>

        <PROPERTY name="VISIBLE" source="#form.column1"/>

        <PROPERTY name="VISIBLE" source="#form.column2"/>

        <PROPERTY name="VISIBLE" source="#form.column3"/>

        <NOT>  

          <PROPERTY name="VISIBLE" source="#form.column4"/>

        </NOT>

      </DO>

    </RULE>

    <RULE>

      <IF>

        <EQUAL>

          <PROPERTY name="ENTRY" source="st_columns"/>

          <TEXT>4</TEXT>

        </EQUAL>

      </IF>

    <WITH>

      <TRUE />

    </WITH>

      <DO>

        <PROPERTY name="VISIBLE" source="#form.column1"/>

        <PROPERTY name="VISIBLE" source="#form.column2"/>

        <PROPERTY name="VISIBLE" source="#form.column3"/>

        <PROPERTY name="VISIBLE" source="#form.column4"/>

      </DO>

    </RULE>

    Viele Grüße

    Michael

    0
  • Zendesk API User
    Author: FabsH - 10/16/2017 14:31

    Vielen Dank Michael! Jetzt läuft alles wie es soll :smileyhappy:

    0

Please sign in to leave a comment.