Search the FirstSpirit Knowledge Base
Hallo zusammen,
in einem FS-Projekt belege ich momentan Textfelder per Skript (via FS_BUTTON) vor.
Es handelt sich dabei um normale Textfelder auf der gleichen Seite, die den Metadatenreiter ersetzen
(damit die Daten als GenericAttributes von der Portalkomponente erkannt werden):
Bsp:
<FS_BUTTON name="pt_set_meta" hFill="no" icon="info" noBreak="no" onClick="script:sc_preset_meta_data">
<LANGINFOS>
<LANGINFO lang="*" label="Preset Metadata"/>
<LANGINFO lang="DE" label="Metadaten vorbelegen"/>
</LANGINFOS>
<PARAMS>
<PARAM name="prm_resubmit">#field.pt_resubmission</PARAM>
</PARAMS>
</FS_BUTTON>
Das Problem ist natürlich, dass #field.pt_resubmission erst dann einen Wert besitzt, wenn die Seite auch gespeichert wurde.
Gibt es irgendwie die Möglichkeit auf den momentan eingetragenen Wert zuzugreifen, ohne die Seite zu speichern?
Ein Speichern per Skript vor der Vorbelegung ist nicht möglich, da die Metadatenfelder teilweise allowEmpty="no" sind.
Meine momentane Lösung wäre ein Workaround im Skript:
Alle Felder mit einem Dummywert vorbelegen, Seite speichern, Dummywerte wieder löschen, Felder vorbelegen.
Allerdings würde ich eben gerne auf das Speichern verzichten.
Gruß
Felix
Das Problem ist natürlich, dass #field.pt_resubmission erst dann einen Wert besitzt, wenn die Seite auch gespeichert wurde.
Das sollte bei Benutzung der "#field" Notation genau nicht so sein.
[EDIT]
Ich habe es gerade mit dem unten stehenden "Scriptcode" ausprobiert, und es hat funktioniert:
print("field value = " + sc_preset_meta_data.get());
Das Problem ist natürlich, dass #field.pt_resubmission erst dann einen Wert besitzt, wenn die Seite auch gespeichert wurde.
Das sollte bei Benutzung der "#field" Notation genau nicht so sein.
[EDIT]
Ich habe es gerade mit dem unten stehenden "Scriptcode" ausprobiert, und es hat funktioniert:
print("field value = " + sc_preset_meta_data.get());
Hallo Peter,
hat sich erledigt. Funktioniert natürlich 🙂
War noch eine Altlast im Skript, wo das FormField über die Formdata ausgelesen wurde.
Hat das übergebene Formfield überschrieben!
Danke für die schnelle Antwort!