Search the FirstSpirit Knowledge Base
Hi,
ich versuche gerade, eine bestimmte Checkbox mit einer Regel zu setzen / bzw. nicht zu setzen.
Die Checkbox sieht derzeit so aus
<CMS_INPUT_CHECKBOX name="fs_portal_md_allCompany" convertEntities="none" hFill="no" noBreak="no" useLanguages="no">
<ENTRIES>
<ENTRY value="yes">
<LANGINFOS>
<LANGINFO lang="*" label="Yes"/>
</LANGINFOS>
</ENTRY>
...
<CMS_INPUT CHECKBOX>
Sie wird derzeit über die Preview per default selektiert. Nun gibt es ein weiteres Listenfeld aus einer Datenquelle, welches das Feld in der Checkbox genau dann deselektieren soll, wenn es nicht leer ist.
<CMS_INPUT_LIST name="fs_portal_md_company" noBreak="no" sortOrder="ascending" useLanguages="no">
<CMS_INCLUDE_CONTENT type="entries" table="content_filter.company">
<LABEL lang="*">#row.name</LABEL>
<LABEL lang="DE">#row.name_DE</LABEL>
<LABEL lang="EN">#row.name_EN</LABEL>
</CMS_INCLUDE_CONTENT>
...
</CMS_INPUT_LIST>
Meine Versuche mit Regeln, etwa
<ON_EVENT>
<IF>
<NOT>
<PROPERTY source="fs_portal_md_company" name="EMPTY"/>
</NOT>
</IF>
<WITH>
<FALSE/>
</WITH>
<DO>
<PROPERTY source="fs_portal_md_allCompany" name="VALUE"/>
</DO>
</ON_EVENT>
Aber eigentlich ist die Checkbox in dem Fall nicht auf FALSE zu setzen, sondern eher auf EMPTY (geht aber in WITH nicht) meine andere lustige Idee für das WITH wäre ein leeres <TEXT/>, passt aber auch nicht.. ich vermute mal, dass ich hier mit dem Regel-Ansatz nicht viel weiterkomme, oder? (FirstSpirit 5.1.3 liegt vor..)
Viele Grüße,
Michael Baginski
Hallo Michael,
brauchst Du hier wirklich eine INPUT_CHECKBOX? Die enthält als Wert nicht nur ein true/false sondern ein Set<Option>, weil sie zur Mehrfachselektion gedacht ist. Wenn Du wirklich nur EINE Checkbox brauchst (danach sieht es für mich durch den entry "yes" aus) wäre hier ein INPUT_TOGGLE die bessere Wahl.
Das lässt sich dann auch mit Deiner Regel auf <FALSE> setzen.
Viele Grüße
Michael
Hallo Michael,
Ich habe es zugegebenermaßen noch nicht ganz geblickt, in welchem Zusammenhang diese Checkbox weiterverarbeitet wird und ob es einen Unterschied macht, ob ein "yes" oder true zurückgegeben wird. Diese bestehende Komponente ist Bestandteil eines von uns übernommenen Kundenprojekts und es passiert damit noch etwas im zugehörigen Modul.. vorn daher würde ich an der Eingabekomponente nichts drehen wollen..
Es ist aber in der Tat nur eine Checkbox.
Gruß,
Michael
Hallo Michael,
Du kannst eine zweite (versteckte) INPUT_CHECKBOX zu erstellen, in der Du per Vorgabewert die Checkbox deaktivierst.
Anstatt in der Regel dann einen "festen" Wert in die eigentliche INPUT_CHECKBOX zu setzen, nimmst Du als Quelle dann diesen "Dummy".
Viele Grüße
Michael
Hi,
nur zur Vollständigkeit und Information: ab Version 5.2 wird es spezielle Eigenschaften geben, um einzelne Werte in einer Checkbox zu setzen bzw. zu entsetzen löschen oder gar die Komponente komplett zu leeren.
Beste Grüße
Stefan
Hi Michael,
in anderen Beiträgen habe ich gelesen, dass man Checkboxen in der 5.1 noch nicht dynamisch über Regeln setzten kann, es aber geplant ist. Siehe Link:
Dynamische Befüllung eines Querys über eine Regel
Läuft unter interner ID 153679. Geplant für Version 5.2.
Ich hatte ein ähnliches Problem, das ich über eine Regel leider nicht lösen konnte. Bleibt zu hoffen, dass die 5.2 das dann auch wirklich kann.
Viele Grüße,
C
Hi C ;-),
hatte Stefan oben auch erwähnt (ich hatte vorher in der Community mit den Stichworten "Checkbox Rule" gesucht, hat aber nicht geklappt; immerhin hat der Kunde den Status so akzeptiert. (irgendwie meinte er, dass das Feature unter 4.2,225 geklappt haben soll, jetzt mit dem Zwischenrelease 4.2.4 nicht mehr) - wobei ich mir jetzt nicht vorstellen kann, wie das funktioniert haben sollte.. auf Rückfrage wurde dann eingeräumt, das es wohl dort auch nicht zuverlässig geklappt hat, nun denn..warten wir auf die 5.2
Gruß,
Michael
Das Setzen von Checkbox-Werten geht jetzt grundsätzlich in der 5.2. Die Umsetzung ist aber etwas gewöhnungsbedürftig. Dazu steht in der Doku (odfs52) unter Regeln - * Neu in Version 5.2:
Die Eigenschaften SELECT und DESELECT können zur Manipulation der Auswahl in optionsbasierten Eingabekomponenten-Typen verwendet werden und zwar in
Hi,
könnten Sie das "gewöhnungsbedürftig" ein wenig detaillierter ausführen? Eventuell können wir daraus für kommende Erweiterungen in dieser Richtung etwas lernen.
Vielen Dank
Stefan