Link
New Creator

RULES: Zugriff auf verwendete Verweisvorlage bei CMS_INPUT_LINK

Jump to solution

Hallo Community, 

wir haben folgendes Problem: Bei einem CMS_INPUT_Link kann eine von drei vorgegebenen Verweisvorlagen (interner Link, externer Link, Download)  ausgewählt werden. Bei Auswahl "Download" sollen bestimmte Eingabekomponenten im Formular ausgeblendet werden. Nachdem ich bereits einige Zeit herumprobiert habe: Ist dies über die Regeln überhaupt möglich? Evtl. mit einem ValueService?

Danke für eure Hilfe, 

Patricia

0 Kudos
1 Solution

Accepted Solutions
hoebbel
Crownpeak employee

Hallo Patricia,

das gewünschte Verhalten kann nicht out-of-the-box umgesetzt werden (mir ist zumindest kein Weg bekannt, wie das klappen könnte).

Mit einem ValueService (also einer eigenen Implementierung) müsste es aber klappen, wahrscheinlich musst Du dabei jedoch einen kleinen Umweg nehmen:
Mit dem ValueService das Template des Links herausfinden und diesen als String in eine versteckte CMS_INPUT_TEXT Eingabekomponente schreiben. (oder einen TOGGLE auf true oder false setzen...)
Eine weitere Regel prüft dann den Inhalt der versteckten Eingabekomponente und entscheidet anhand des dort hinterlegten Wertes, ob andere Eingabekomponenten ausgeblendet werden sollen oder nicht.

Anmerkung zum Umweg: Ich habe es selber noch nicht probiert, gehe aber davon aus, dass es mit dem Rückgabewert eines ValueService nicht möglich ist, direkt zu entscheiden, ob Eingabekomponenten ausgeblendet werden sollen oder nicht.

Und noch ein allgemeiner Hinweis: Die Prüfung, ob die Eingabekomponenten ausgeblendet werden sollen, muss im WITH Teil der Regel erfolgen, nicht im IF Teil. Ansonsten würde eine Änderung des Linktemplates (Link löschen & neuen Link setzen) potentiell nicht dazu führen, dass die Regelerneut ausgeführt wird und die Eingabekomponenten wieder sichtbar gemacht werden.

Viele Grüße
Holger

View solution in original post

0 Kudos
1 Reply
hoebbel
Crownpeak employee

Hallo Patricia,

das gewünschte Verhalten kann nicht out-of-the-box umgesetzt werden (mir ist zumindest kein Weg bekannt, wie das klappen könnte).

Mit einem ValueService (also einer eigenen Implementierung) müsste es aber klappen, wahrscheinlich musst Du dabei jedoch einen kleinen Umweg nehmen:
Mit dem ValueService das Template des Links herausfinden und diesen als String in eine versteckte CMS_INPUT_TEXT Eingabekomponente schreiben. (oder einen TOGGLE auf true oder false setzen...)
Eine weitere Regel prüft dann den Inhalt der versteckten Eingabekomponente und entscheidet anhand des dort hinterlegten Wertes, ob andere Eingabekomponenten ausgeblendet werden sollen oder nicht.

Anmerkung zum Umweg: Ich habe es selber noch nicht probiert, gehe aber davon aus, dass es mit dem Rückgabewert eines ValueService nicht möglich ist, direkt zu entscheiden, ob Eingabekomponenten ausgeblendet werden sollen oder nicht.

Und noch ein allgemeiner Hinweis: Die Prüfung, ob die Eingabekomponenten ausgeblendet werden sollen, muss im WITH Teil der Regel erfolgen, nicht im IF Teil. Ansonsten würde eine Änderung des Linktemplates (Link löschen & neuen Link setzen) potentiell nicht dazu führen, dass die Regelerneut ausgeführt wird und die Eingabekomponenten wieder sichtbar gemacht werden.

Viele Grüße
Holger

0 Kudos