- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Formular aus Datei erstellen?
Hallo Community,
wir planen aktuell die Umstellung der Sprachdatei fรผr unseren Angular-Client ins CMS zu ziehen und somit die Texte in die Hand der Fachabteilung zu geben. Dafรผr muss dann aber auch eine Absatzvorlage erstellt werden, die sich dynamisch aus einer Textdatei mit den Platzhaltern erstellt.
Ist eine dynamische Generierung des Formulars mรถglich? Bisher konnte ich in der Doku dazu nichts finden.
Gruร
Jan
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Michael,
es geht um Sprachschnipsel aus der Anwendung selbst. Bisher wird diese von den Entwicklern gepflegt. Es gibt aber immer wieder den Wunsch, dass sich die Texte รคndern sollen, auch fรผr bestimmte Zeitfenster. Da wir im CMS eine Zeitsteuerung haben und die Redakteure dort alles selbst pflegen kรถnnen, liegt das nahe die Daten nun dort hin zu verlagern.
Inzwischen haben wir uns fรผr die Datenquelle entschieden. Die Redakteure fanden dieses Element am brauchbarsten fรผr ihre Arbeit (Klickpfade, Suche usw.)
Gruร
Jan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Jan,
kurze Antwort: Ja, das geht.
Du kannst รผber ein Modul / Executable ein dynamisches Formular bauen und dieses dann z.B. beim Klick auf einen FS-Button anzeigen lassen.
Ich habe das ganze mal zur Erstellung eines Produktvergleichs gemacht, so dass auf Basis der vorhandenen Produkteigenschaften Formularfelder erzeugt wurden um zu definieren ob das Produkt diese Eigenschaft hat oder nicht bzw. noch einen redaktionellen Kommentar dazu zu pflegen.
Die Logik, wie deine Textdatei in FS Formularelemente umgewandelt werden muss, musst du natรผrlich selbst festlegen und dann implementieren.
Vielleicht helfen dir die folgenden groben Hinweise ja schon weiter:
Die eigentliche Kunst liegt dann in diesem Beispiel im Service, der das Formular erstellt.
Je nach Eingabekomponente kann das etwas frickelig sein, da das Hinzufรผgen von Options zu Radio-Buttons z.B. nicht ganz intuitiv ist...
@Override
public Object execute(Map<String, Object> params) throws ExecutionException {
processScript(params);
return true;
}
void processScript(final Map<String, Object> params) {
init(params);
FormData formData = buildAndShowForm();
if (null == formData) {
CMSDialog.showInfoDialog("Komfortpflege abgebrochen",
"Die Komfortpflege wurde abgebrochen. \nEs wurden keine Daten gespeichert.");
} else {
saveFormValues(formData);
CMSDialog.showInfoDialog("Komfortpflege abgeschlossen",
"Die Komfortpflege wurde erfolgreich abgeschlossen. \nDie gepflegten Daten wurden gespeichert.");
}
}
private FormData buildAndShowForm() {
GomEditorProvider gomProvider = script.getGomProvider();
FormReturnWrapper returnWrapper = productCompareService.createForm(projectAgent.getId(), product, gomProvider);
gomProvider = returnWrapper.getGomEditorProvider();
String rulesetDefinition = returnWrapper.getRulesetDefinition();
script.setGomProvider(gomProvider);
script.setRulesetDefinition(rulesetDefinition);
defaultValues = returnWrapper.getDefaultValues();
setDefaults(defaultValues);
return context.showForm();
}
PS: Der FormReturnWrapper ist eine Klasse von mir, da mein Service nicht nur das Formular, sondern auch passende Regeln und Default-Values generiert. Damit wrappe ich diese drei Objekte in eines um es als ein return-Value aus dem Methodenaufruf zurรผckzugeben.
Grรผรe
Sandro
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Jan,
schau Dir bitte mal den FormsAgent und die ShowFormDialogOperation an - darรผber kannst Du Formulare dynamisch erzeugen, indem Du lediglich das entsprechende XML zusammen baust und รผbergibst. Siehe z.B. auch hier: Re: Freigabeprozess: Wie kann ich dort ein eigenes Panel anzeigen?
Das Ganze eignet sich aber natรผrlich nur, wenn man das Formular "zwischendurch" braucht, d.h. es entsteht daraus kein Template.
Um was fรผr Texte geht es denn da? Wenn es eine eher "allgemeine" Liste von Texten ist, kรถnnte man das ggf. รผber globale Inhalte oder Datenquellen lรถsen und dort immer nur "einzelne" Textelemente hinterlegen.
Viele Grรผรe
Michael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Michael,
es geht um Sprachschnipsel aus der Anwendung selbst. Bisher wird diese von den Entwicklern gepflegt. Es gibt aber immer wieder den Wunsch, dass sich die Texte รคndern sollen, auch fรผr bestimmte Zeitfenster. Da wir im CMS eine Zeitsteuerung haben und die Redakteure dort alles selbst pflegen kรถnnen, liegt das nahe die Daten nun dort hin zu verlagern.
Inzwischen haben wir uns fรผr die Datenquelle entschieden. Die Redakteure fanden dieses Element am brauchbarsten fรผr ihre Arbeit (Klickpfade, Suche usw.)
Gruร
Jan

