annick_querfeld
I'm new here

rules property 'editable' deaktiviert form "default values" tab Eingabekomponenten

Jump to solution

Hallo Zusammen,

also ich habe für die Formularfelder, die useLanguages="no" bekommen über die Rules "nicht editierbar" gesetzt wenn man sich nicht in der Mastersprache befindet. Da diese Felder scheinbar trotzdem für alle Sprachen angezeigt werden und man die Werte dort ändern kann, nur dass sie sich halt nicht für die Sprache sondern allgemeingültig ändern.

Aus Usabilitysicht ist es irgendwie unschön wenn der Nutzer zum Beispiel in Spanisch ein Feld sieht und denkt, ja cool, dann ändere ich den Wert für Spanisch auf dies und jenes, nur dass sich dass dann halt ja für alle Sprachen anpasst.

Das heißt dem Formularnutzer ist überhaupt nicht richtig klar, nicht erkennbar, welche Felder er mehrsprachig pflegen kann und welche nicht. So würde er den Wert unter dem Spanischen Reiter ändern, und dann feststellen dass sich die Änderung durch alle Sprachen durchgezogen hat. Und sich fragen warum.

Daher die Idee entsprechende Felder zu "deaktivieren" wenn man nicht in der Master-Sprache ist. Sodass sie zwar noch mit Wert sichtbar sind aber nicht in den verschiedenen Sprachen editierbar.

Ich habe das zum Beispiel so gemacht:

     <ON_EVENT>

         <WITH>

                <EQUAL>

                    <PROPERTY source="#global" name="LANG"/>

                    <PROPERTY source="#global" name="MASTER"/>

                </EQUAL>

         </WITH>

         <DO>

             <PROPERTY source="st_mein_Beispiel_Eingabefeld_1" name="EDITABLE"/>

             <PROPERTY source="st_mein_Beispiel_Eingabefeld_2" name="EDITABLE"/>

             <PROPERTY source="st_mein_Beispiel_Eingabefeld_3" name="EDITABLE"/>

         </DO>

     </ON_EVENT>

Ich muss allerdings feststellen, dass wenn ich dies so mache und anschließend für das Template unter Properties> Form> Default values gehe, um dort Default values für mein Formular zu setzen, dass unter dem "Fall-back values" tab diese Felder nun auch "nicht editierbar" sind. Das ist natürlich nicht Sinn der Sache. Any ideas?

Kann ich vll meine Rule erweitern "wenn nicht master sprache und nicht fall-back values"? Konnte dazu leider nichts in Doku und Community finden.

Freue mich über Hilfe!

Viele Grüße, Annick

Verbesserungsvorschlag: Es wäre vielleicht sinnvoll "editable" Eigenschaft auch für Gruppen zuzulassen, damit man nicht alle Felder einzelnd bei der Rule eintragen muss.

0 Kudos
1 Solution

Accepted Solutions
mbergmann
Crownpeak employee

Hallo Annick,

Du kannst auf den STORETYPE prüfen. Wenn man die Vorgabewerte bearbeitet, befindet man sich im "templatestore". D.h. wenn die Regel die Felder nur auf nichtveditierbar setzt wenn der STORETYPE nicht der templatestore ist, sollte das dem entsprechen was Du brauchst.

Viele Grüße

Michael

View solution in original post

0 Kudos
3 Replies
pavone
I'm new here

Hallo Annick,

wenn sich das Formular nicht in einem Seitentemplate befindet, kannst du ggf. mit einer Abfrage des aktuellen Inhaltsbereich dein Ziel erreichen.

Deine Regel könnte im IF-Bereich abfragen, in welchem Inhaltsbereich du dich befindest und so steuern, ob die Regel greift oder nicht. Sinngemäß: "Wenn in Innhaltsbereich x oder y oder z, dann Regel....".

Das könnte dir weiterhelfen, da im Formular für die Vorgabewerte diese Prüfung immer FALSE ergibt.

Ggf. lässt sich die Prüfung auch umkehren: "Wenn Inhaltsbereich nicht leer, dann Regel...". Das habe ich aber nicht ausprobiert.

Siehe dazu auch IF und BODY.

Viele Grüße

Tim

0 Kudos
mbergmann
Crownpeak employee

Hallo Annick,

Du kannst auf den STORETYPE prüfen. Wenn man die Vorgabewerte bearbeitet, befindet man sich im "templatestore". D.h. wenn die Regel die Felder nur auf nichtveditierbar setzt wenn der STORETYPE nicht der templatestore ist, sollte das dem entsprechen was Du brauchst.

Viele Grüße

Michael

0 Kudos

Vielen Dank für eure Hilfe 🙂 Habe es mit eurer Hilfe implementiert bekommen.

0 Kudos