Search the FirstSpirit Knowledge Base
Hallo zusammen,
ich habe ein Problem beim Kopieren von FS-List Einträgen.
Die Liste ist sprachabhängig (DE / EN).
Nun möchte ich für redaktionelle Vereinfachungen gerne die Inhalte von DE nach EN kopieren.
Wer kann mir sagen wo der Fehler liegt? Im folgenden habe ich mal den Code zusammenkopiert, wie er ausgeführt werden sollte.
Vielen Dank schonmal im Voraus,
Phillip Austerfield
Alles kommt von Page storeElement;
// lock(true, true) gesetzt
Section sectionToCopyDataFrom // hat aktuelle Section
Language _sourceLanguage //de
Language _targetLanguage //en
//
// Data Objekt der Sektion holen
//
Data sectionData = sectionToCopyDataFrom.getData();
for(String variable : sectionData.getVariableNames())
{
EditorValue<?> editor = sectionData.get(variable).getEditor();
FsListEditorValue pFSEditorValue = ((FsListEditorValue) editor);
//
// get form data list
//
FormDataList inlineSectionsSrc = pFSEditorValue.get(_sourceLanguage);
FormDataList inlineSectionsDest = pFSEditorValue.get(_targetLanguage);
//
// alle listeneinträge durchgehen
//
for (IdProvidingFormData inlineSection : inlineSectionsSrc)
{
//
// alle variablen des aktuellen eintrags holen
//
List<String> vFields = inlineSection.getForm().appendEditorNames(null);
for (String sName : vFields)
{
FormField<?> pSrc = inlineSection.get(_sourceLanguage, sName);
FormField<?> pDest = inlineSection.get(_targetLanguage, sName);
pDest.set(pDest.get());
}
//
// in Zielliste einfügen
//
inlineSectionsDest.add(inlineSection);
}
pFSEditorValue.set(_targetLanguage, inlineSections);
}
sectionToCopyDataFrom.setData(sectionData);
sectionToCopyDataFrom.save();
storeElement.save();
// lock(false, true) entfernt
Hallo Phillip,
könnte es vielleicht an folgender Zeile liegen:
pDest.set(pDest.get());
sollte wohl eher pDest.set(pSrc.get());
Viele Grüße
Jan Tilo
Hallo Phillip,
könnte es vielleicht an folgender Zeile liegen:
pDest.set(pDest.get());
sollte wohl eher pDest.set(pSrc.get());
Viele Grüße
Jan Tilo
Hallo Jan,
tja, exakt daran lag es 😉
Viele Grüße,
Phillip.