Search the FirstSpirit Knowledge Base
Hallo zusammen
ich habe folgendes vor. Abhängig davon welche Variante (Radiobutton st_variants) gewählt sind, sollen die Input-Felder für die Namen der Varianten eingeblendent werden:
Variante 1 gewählt > Anzeige "Name 1"
Variante 2 gewählt > Anzeige "Name 1" und "Name 2"
Wie folgt habe ich es umsetzen wollen.
Formular:
<CMS_MODULE>
<CMS_INPUT_RADIOBUTTON name="st_variants" allowEmpty="no" gridWidth="3" hFill="yes">
<ENTRIES>
<ENTRY value="1"/>
<ENTRY value="2"/>
</ENTRIES>
<LANGINFOS>
<LANGINFO lang="*" label="Varianten"/>
</LANGINFOS>
</CMS_INPUT_RADIOBUTTON>
<CMS_INPUT_TEXT name="st_name1" hFill="yes" singleLine="no">
<LANGINFOS>
<LANGINFO lang="*" label="Name 1"/>
</LANGINFOS>
</CMS_INPUT_TEXT>
<CMS_INPUT_TEXT name="st_name2" hFill="yes" singleLine="no">
<LANGINFOS>
<LANGINFO lang="*" label="Name 2"/>
</LANGINFOS>
</CMS_INPUT_TEXT>
</CMS_MODULE>
Rules:
<RULES>
<ON_EVENT>
<WITH>
<EQUAL>
<PROPERTY source="st_variants" name="ENTRY"/>
<TEXT>1</TEXT>
</EQUAL>
</WITH>
<DO>
<PROPERTY source="st_name1" name="VISIBLE"/>
</DO>
</ON_EVENT>
<ON_EVENT>
<WITH>
<EQUAL>
<PROPERTY source="st_variants" name="ENTRY"/>
<TEXT>2</TEXT>
</EQUAL>
</WITH>
<DO>
<PROPERTY source="st_name1" name="VISIBLE"/>
<PROPERTY source="st_name2" name="VISIBLE"/>
</DO>
</ON_EVENT>
</RULES>
Leider funktioniert es aber nicht so wie ich es will
Wenn die Variante 1 gewählt ist wird nichts angezeigt. Wenn die 2. Variante gewählt ist werden die beiden Felder angezeigt.
Was ist hier falsch?
Schöne Grüße
Saied
Hi Saled,
ein kleiner Logikfehler: Wenn Variante 1 ausgewählt wird, wird durch die zweite Regel die Komponente st_name1 immer unsichtbar geschaltet.
Sinnvoller wäre wohl, eine Regel pro Komponente zu erstellen und darin mit Oder im WITH-Teil zu arbeiten.
Gruß
Stefan
Hi Saled,
ein kleiner Logikfehler: Wenn Variante 1 ausgewählt wird, wird durch die zweite Regel die Komponente st_name1 immer unsichtbar geschaltet.
Sinnvoller wäre wohl, eine Regel pro Komponente zu erstellen und darin mit Oder im WITH-Teil zu arbeiten.
Gruß
Stefan
Etwa so
<RULES>
<ON_EVENT>
<WITH><OR>
<EQUAL>
<PROPERTY source="st_variants" name="ENTRY"/>
<TEXT>1</TEXT>
</EQUAL>
<EQUAL>
<PROPERTY source="st_variants" name="ENTRY"/>
<TEXT>2</TEXT>
</EQUAL>
<EQUAL>
<PROPERTY source="st_variants" name="ENTRY"/>
<TEXT>3</TEXT>
</EQUAL></OR>
</WITH>
<DO>
<PROPERTY source="st_name1" name="VISIBLE"/>
</DO>
</ON_EVENT>
<ON_EVENT>
<WITH><OR>
<EQUAL>
<PROPERTY source="st_variants" name="ENTRY"/>
<TEXT>1</TEXT>
</EQUAL>
<EQUAL>
<PROPERTY source="st_variants" name="ENTRY"/>
<TEXT>2</TEXT>
</EQUAL></OR>
</WITH>
<DO>
<PROPERTY source="st_name2" name="VISIBLE"/>
</DO>
</ON_EVENT>
<ON_EVENT>
<WITH>
<EQUAL>
<PROPERTY source="st_variants" name="ENTRY"/>
<TEXT>3</TEXT>
</EQUAL>
</WITH>
<DO>
<PROPERTY source="st_name3" name="VISIBLE"/>
</DO>
</ON_EVENT>
</RULES>
Oder ist das immer noch unlogisch? Denn beim Auswahl der Variante 1 werden alle 3 Namenfelder angezeigt:
Variante ausgewählt | Ausgabe |
---|---|
1 | Name 1, Name 2 und Name 3 |
2 | Name 1 und Name 2 |
3 | Name 1 |
Danke und Gruß
Saied
Die Regeln sehen eigentlich richtig aus. Allerdings sollte st_name3 nur bei Variante 3 sichtbar sein und st_name2 nicht.
Scheint ein Bug zu sein, oder?
Server-Version: 5.0.425.60000
Kann sein. 5.0.4 ist allerdings auch schon etwas älter. Wenn möglich, mit einer aktuellen Version ausprobieren oder mit möglichst viel Informationen beim Helpdesk als Fehler melden.
Beste Grüße
Stefan
Sorry "copy-paste" Fehler von mir getestet wurde mit der Server-Version: 5.1.106.61855!
Danke und Gruß
Saied
Hab's gerade mit der aktuellen Version getestet und es funktioniert wie gewünscht. 5.1.106 ist auch schon ein paar Monate alt, aber einen passenden Bugfix habe ich nicht gesehen.
Anzeige bei mir mit deinen Regeln ist:
Variante 1: Komponenten 1 und 2
Variante 2: Komponenten 1 und 2
Variante 3: Komponenten 1 und 3
Vielleicht sind die Regeln so noch nicht wie gewünscht?
Gruß
Stefan
Ja stimmt. Hier müsste ich 2 und 3 eintragen und nicht 1 und 2... :smileyblush:
<ON_EVENT>
<WITH>
<OR>
<EQUAL>
<PROPERTY source="st_variants" name="ENTRY"/>
<TEXT>1</TEXT>
</EQUAL>
<EQUAL>
<PROPERTY source="st_variants" name="ENTRY"/>
<TEXT>2</TEXT>
</EQUAL>
</OR>
</WITH>
<DO>
<PROPERTY source="st_name2" name="VISIBLE"/>
</DO>
</ON_EVENT>
Vielen Dank für die schnelle Hilfe!
Beste Grüße
Saied