Hallo zusammen,
ich habe mal wieder ein problem, welches einfach lösbar wäre, wenn man einem ValueService komplexe Objekte wie eine FS_Reference oder zumindest die UID des referenzierten Elements übergeben könnte. 🙂
UseCase:
Die Bildbeschreibung eines in einer FS_Reference ausgewählten Bildes soll automatisch in ein Feld auf der Seite / Absatz geschrieben werden. In Abhängigkeit davon ob das Bild eine Beschreibung hat oder nicht soll dann das Alt-Tag-Feld auf der Seite / Absatz validiert werden oder eben nicht. (Zweiteres funktioniert über eine Regel und stellt kein problem dar.)
Problem / Aufgabe:
Die Ermittlung der Bildbeschreibung und das Schreiben dieser in ein read-only bzw. hidden Eingabefeld funktioniert über einen FS_Button ebenfalls ohne größere Probleme. Bei einem FS_Button kommt man über #field.st_fieldName auch an komplexe Felder wie eine FS_Reference, die man sich nicht in einen ValueService übergeben kann.
Ich möchte aber nicht, dass der User ständig selbst auf den Button klicken muss. Stattdessen möchte ich, beim Speichern des Formulars oder beim Ändern des Bildes der FS_Referece den Prozess automatisch ausführen.
Frage:
Gibt es eine Möglichkeit den Button-Klick zu automatisieren?
Oder eine andere sinnvolle Möglichkeit meinen UseCase umzusetzen?
Ideen die ich dazu schon hatte:
- ValueService, der über eine Regel gestartet wird
- Problem: Ich komme nicht an die Informationen der FS_Reference
- StoreListener der auf Änderungen am Objekt reagiert
- Problem: Der StoreListerner wird AFAIK erst nach dem Speichern / Ändern eines Elements ausgelöst. Ich möchte aber durch die Regeln ggf. das Speichern verhindern und den Redakteur zwingen ein eigenes Alt-Tag einzugeben, sollte das ausgewählte Bild keins haben.
- Diverse Dinge auf internen Klassen, was ich aber wenn möglich vermeiden will. 😉
Ich bin über jeden Hinweis froh! 😉