markus
I'm new here

Setzen von Inhalten eines Entity Objektes

Jump to solution

Hallo,

ich setze neue Inhalte von Entitäten wie folgt:

FormField<?> formField = formData.get(language, variableName);

     Object targetValue = formField.get();

     GomFormElement gomFormElement = formData.getForm().findEditor(variableName);

     if (gomFormElement != null) {

          if (gomFormElement != null && gomFormElement.usesLanguages()) {

               formField.set("Neuer Inhalt");

          }

          content2.getDataset(entity).setFormData(formData);

          content2.getDataset(entity).save("");

      }

Leider sehe ich keine geänderten Inhalten in den Entities.

Wie funktionierts richtig?

0 Kudos
1 Solution

Accepted Solutions

Hallo Markus,

das Verhalten klingt auf jeden Fall merkwürdig.

Nur um sicher zu gehen:

Das Datenbank-Schema sieht eine entsprechende Spalte für die Sprache vor, die Eingabekomponente ist als sprachabhängig konfiguriert und das Mapping von der Eingabekomponente auf die entsprechende Spalte der Tabelle ist korrekt?

Besonders wenn die Sprachen nachträglich hinzugefügt wurden kann es schonmal passieren, dass vergessen wird das Mapping entsprechend zu erweitern.

Viele Grüße

Rouven

View solution in original post

0 Kudos
9 Replies
feddersen
Community Manager

Hallo Markus,

unter How to work with entities gibt es Beispiele.

Viele Grüße

Christoph

0 Kudos

Hallo Christoph,

danke, das ist ein sehr gutes Beispiel!

Wenn ich aber Text aus dem Deutschem in das Französische übernehmen will, funktioniert dies hier nicht:

(Der Text im Französischenn ist leer)

content2.lock(entity);

Dataset dataSet = content2.getDataset(entity);

FormField formFieldDE = data.get(langDE, "cs_name");

FormField formFieldFR = data.get(langFR, "cs_name");

formFieldFR.set(formFieldDE.get());

dataSet.setFormData(data);

dataSet.save();

content2.unlock(entity);

0 Kudos

Markus Oehlen schrieb:

formFieldFR.set(formFieldDE.get());

Vorne steht FR, hinten steht DE.

0 Kudos

Ja genau so hab ich`s gemacht, wenn ich nur den deutschebn Text aktualisiere, dann funktionierts:

formFieldDE.set("Neuer Inhalt");

dann kann ich den Inhalt auch in FS sehen.

0 Kudos
marro
Crownpeak employee

Hallo Markus,

kannst Du denn genau auf diese Weise auch nur den französischen Text aktualisieren? Sprich: Den Text direkt als String setzen und nicht aus einer anderen Komponente auslesen.

Gruß

Donato

0 Kudos

Hallo Donato,

ich kann nur den deutschen Text auf diese Weise ändern,

englisch, französich bzw. spanisch funktioniert nicht.

Gibt es evtl. eine Einstellung die ich beachten muss?

Gruß

Markus

0 Kudos

Hallo Markus,

das Verhalten klingt auf jeden Fall merkwürdig.

Nur um sicher zu gehen:

Das Datenbank-Schema sieht eine entsprechende Spalte für die Sprache vor, die Eingabekomponente ist als sprachabhängig konfiguriert und das Mapping von der Eingabekomponente auf die entsprechende Spalte der Tabelle ist korrekt?

Besonders wenn die Sprachen nachträglich hinzugefügt wurden kann es schonmal passieren, dass vergessen wird das Mapping entsprechend zu erweitern.

Viele Grüße

Rouven

0 Kudos

Hallo Rouven,

ich konnte das Problem lösen, es lag am Mapping.

Vielen Dank für den Hinweis.

Grüße

Markus

0 Kudos
marro
Crownpeak employee

Hallo Markus,

wärst Du noch so nett, Rouvens Anwort als richtige bzw. hilfreiche Antwort zu markieren? Das erleichtert es anderen Nutzern bei einem ähnlichen Problem die Lösung dazu zu finden.

Viele Grüße

Donato

0 Kudos