mseyfarth
Elite Observer

LangInfos in der Pflegemaske überschreiben

Jump to solution

Hallo liebe Community,
ich benötige Eure Unterstützung bei einem Problem.

Mein Ziel ist es die LangInfos von Eingabekomponenten zu überschreiben.
Keine dauerhafte Überschreibung, sondern lediglich in der Pflege anhand einer bestimmten Regel.

Bsp.

Es gibt ein Pflegefeld für ein Bild, wobei das Label der Eingabekomponente die Bildgrößen beinhaltet.
Anhand einer definierten Regel soll es möglich sein genau dieses Label mit einer anderen Bildgröße zu überschreiben.
Wenn die Bedingung nicht zutrifft, soll das ursprüngliche Label angezeigt werden.

Ich glaube eine ähnliche solche Logik wurde bereits durch TranslationStudio umgesetzt.

Zu meinem Code:
Es gibt eine Regel, die einem Value Service Werte übermittelt (Uid, Feldname, Label)

 

 

 

<RULE>
	<SCHEDULE delay="0" id="overrideInputFieldLabelService" service="OverrideInputFieldLabelService">
			<CONDITION>
				// Bedingung
			</CONDITION>
			<PARAM name="UID">
				<PROPERTY name="UID" source="#global"/>
			</PARAM>
			<!-- Image -->
			<PARAM name="imageField">
				<TEXT>sv_video_stage_image_desktop</TEXT>
			</PARAM>
			<PARAM name="imageText">
				<TEXT>Andere Bildgröße (1920 X 1090)</TEXT>
			</PARAM>
                        // weitere möglich
		</SCHEDULE>
	</RULE>

 

 

 

 

Der Value Service:

  • Der Value Service  übernimmt die Werte.
  • ich ermittle den IDProvider anhand der uid
  • hole mir den GomEditorProvider
  • daraus das GomFormElement
  • daraus die Langinfos
  • und setze das neue Label

Dabei ist mir aufgefallen, dass ich die kompletten LangInfos aus dem Template hart überschreibe.
Genau das möchte ich nicht.
Ich möchte nur, dass sich das Label in der Pflege optisch verändert.
Sobald die Bedingung aus der Regel nicht mehr zutrifft soll das originale Label wieder angezeigt werden.

 

Hat jemand eine Idee, wie ich das gewünschte Verhalten hinbekomme?

Das soll für Sitearchitekt, als auch CC funktionieren 😃

 

Vielen Dank und Gruß
Matthias

0 Kudos
1 Solution

Accepted Solutions
hoebbel
Crownpeak employee

Hallo Matthias,

wenn ich dich richtig verstehe, willst Du nur einen Hinweis für den Redakteur anzeigen, dass seine momentane Auswahl dazu führen wird, dass eine bestimmte Bildgröße angezeigt wird. 

Ich würde das Ganze über eine Validierung (scope INFO) lösen. Diese wird unter der Eingabekomponente angezeigt und führt nicht zu einem Validierungsfehler. Also beispielsweise so:


<DO>
<VALIDATION scope="INFO">
<PROPERTY name="VALID" source="sv_video_stage_image_desktop"/>
<MESSAGE lang="*" text="Andere Bildgröße (1920 X 1090)"/>
</VALIDATION>
</DO>

Das ist zwar nicht exakt das, was Du erreichen willst, könnte aber ausreichend sein. 
Ein Weg, das Label der Eingabekomponente temporär per Regel zu ändern, ist mir nicht bekannt.

Vielleicht hilft das ja weiter.

Viele Grüße
Holger

View solution in original post

0 Kudos
2 Replies
hoebbel
Crownpeak employee

Hallo Matthias,

wenn ich dich richtig verstehe, willst Du nur einen Hinweis für den Redakteur anzeigen, dass seine momentane Auswahl dazu führen wird, dass eine bestimmte Bildgröße angezeigt wird. 

Ich würde das Ganze über eine Validierung (scope INFO) lösen. Diese wird unter der Eingabekomponente angezeigt und führt nicht zu einem Validierungsfehler. Also beispielsweise so:


<DO>
<VALIDATION scope="INFO">
<PROPERTY name="VALID" source="sv_video_stage_image_desktop"/>
<MESSAGE lang="*" text="Andere Bildgröße (1920 X 1090)"/>
</VALIDATION>
</DO>

Das ist zwar nicht exakt das, was Du erreichen willst, könnte aber ausreichend sein. 
Ein Weg, das Label der Eingabekomponente temporär per Regel zu ändern, ist mir nicht bekannt.

Vielleicht hilft das ja weiter.

Viele Grüße
Holger

0 Kudos

Hallo @hoebbel ,

du hast vollkommen Recht.

Als Workaround funktioniert das gut, entspricht aber nicht meinem Wunsch 😉

Ich überlege das mal als Feature Request zu verfassen, denn ich denke optional angezeigte Labels, basierend auf Bedingungen ist nicht ganz aus der Luft gegriffen.

 

Grüße
Matthias

0 Kudos