Sprache der Formulare im ContentCreator über editorId() beeinflussen

Aktuell erkennt die Funktion editorId() die Sprache, in der das Formular im ContentCreator geöffnet werden soll automatisch über #global.language.

Ich benötige aus nachfolgend beschriebener Motivation heraus einen weiteren optionalen Parameter bei der Funktion editorId() um die Sprache des zu öffnenden Formulars selbst festlegen zu können. (Bspw.: editorId(lang:languageObj)

Motivation:

Ich arbeite in einem Projekt, indem sehr viele Inhalte durch eine Sprach-Fallback-Logik generiert werden.

Das heißt, dass über das setzen der Variable #global.language gesteuert wird, in welcher Sprache die aktuelle Seite bzw. der Absatz generiert wird.

Diese Logik greift selbstverständlich auch für die Preview, so dass man im ContentCreator die Inhalte sieht, die durch die Fallback-Logik ausgegeben werden.

Da der ContentCreator die Sprache für die Formulare über die Variable #global.language bestimmt, werden die Formulare folglich in der Fallback-Sprache geöffnet.

Bsp:

Ein Projekt mit zwei Sprachen; EN und DE mit EN als Mastersprache.

Inhalte werden zunächst immer in EN gepflegt. Ist in DE ein veränderter Inhalt vorhanden, so wird dies explizit am Inhalt über ein Flag vermerkt.

Durch die Fallback-Logik werden während der Generierung für DE die Flags überprüft und die Inhalte entsprechend von DE bzw. EN ausgegeben.

Das bearbeiten der Inhalte für DE erfolgt über den ContentCreator.

Da editorId() die Sprache in der die Formulare im ContentCreator geöffnet werden automatisch bestimmt, werden die Formulare initial immer in EN geöffnet.

Daraus ergibt sich der Umstand, dass der Redakteur für DE im ContentCreator immer erst die Sprache des Formulars einstellen muss.

Bei 2 Sprachen kein Problem, bei 49 ist die Einspaltige Liste der verfügbaren Sprachen eher unpraktisch und zieht die Benutzerfreundlichkeit in den Keller.

Um die Benutzerfreundlichkeit für den Redakteur zu wahren muss derzeit vor und nach jedem Aufruf von editorId() die Sprache über #global.language gesetzt werden.

Für den Redakteur ist die Welt somit wieder in Ordnung. Aus Entwicklersicht bedeutet das aber, dass bei jedem Aufruf von editorId() 3 weitere Statements benötigt werden, nur damit das Formular im ContentCreator in der richtigen Sprache aufgeht.

3 Comments
kohlbrecher
e-Spirit employee

Hallo Thomas,

mit der FirstSpirit Version 2021.10 wurde ein neuer Parameter language eingebaut, mit der kann der Funktion editorId eine Sprache übergeben werden, in der ein Formular geöffnet werden soll.

Weiter Details sind hier im Kapitel 3.2 zu finden.

Viele Grüße

Jan

feddersen
Community Manager
Community Manager
Status changed to: Delivered in FirstSpirit 2021-10
 
feddersen
Community Manager
Community Manager
Status changed to: Delivered in FirstSpirit 2021-10