Search the FirstSpirit Knowledge Base
Liebe Community,
Mit folgendem Anwendungsfall habe ich zu kämpfen. In der FS_LIST vom Typ "inline" möchten ich gerne den Displaynamen der Vorlage und ein charakterisierendesTextsnippet in der Übersicht darstellen, dies aber möglichst zentral verwalten.
Eine primitive Lösung vom folgenden Typ habe ich gefunden:
<LABEL>
#template.getDisplayName(#template.getProject().getMasterLanguage())+if(!#item.lt_text.isEmpty, ": "+item.lt_text)
</LABEL>
Da ich aber eine große Menge heterogener Formulare verwalten muss, z.B. Tabnavigationen in der jede Absatzvorlage aufgerufen werden kann, etc., möchten ich gerne eine eigene Javaklasse schreiben. Leider scheiterten Versuche in den Formulare, eigene Module zu addressieren wie class("eigene.klasse").getClass(), wogegen class("java.lang.String").class() die erwartete Ausgabe ausliefert. Ziel wäre es, eine Klasse zu schreiben, nach folgendem Schema
<LABEL>
class("eigene.klasse").new(#item,#template).customDisplayName()
</LABEL>
Idealerweise würde die Methode customDisplayName() auf Schnipsel zurückgreifen, da man so die relevanten Information zentral bei der addressierten Vorlage pflegen kann und nicht lokal in der FS_LIST.
Folgende Fragen ergeben sich:
# Wie kann man im Formular eigene Klassen und deren Methoden aufrufen?
# Wie kommt man an die Schnipsel eines #item oder #template?
# Oder am einfachsten, gibt es sowas wie #item.getSchnipsel()?
# Welche Klasse hat #item?
Vielen Dank und liebe Grüße,
Marc
Hallo Marc,
mein Fehler. Der Rückgabetyp bei der FS_LIST spielt nur bei Templates eine Rolle. #item ist hier erklärt:
http://www.e-spirit.com/odfs51/Vorlagenentwicklung/Vorlagensyntax/Systemobjekte/item/?community
Der DefaultItemEvaluator ist keine offizielle API.
Gruß Marian
Hallo Marc,
die letzten beiden bzw. drei Fragen sind einfach beantworten:
Es gibt keine offzielle API für Schnipsel. Es wurden aber einige Feature-Requests in Verbindung mit Schnipsel gestellt: https://community.e-spirit.com/community/feedback
Zum Thema FS_LIST beschreibt die allgemeine Dokumentation alle wichtigen Punkte.
Dort findet man den Link zum Rückgabetyp.
Zum Thema eigene Klassen in Formularen aufrufen gibt nur die Möglichkeit einen Knopf (engl. Button) zu definieren, welcher ein Script bzw. eine Klasse, die das Executable-Interface implementiert, und zwar beim Klicken (onClick) oder beim Fallenlassen (onDrag).
Dazu muss man aber ein eigenes FirstSpirit-Modul erstellen, um diese Klasse global verfügbar zu machen. Das wird auf folgenden Seiten beschrieben: http://www.e-spirit.com/odfs51/Plugin-Entwicklung/?communityhttp://www.e-spirit.com/odfs51/Plugin-Entwicklung/Entwicklung-und-Bereitstellung/?community
Der Vollständigkeit halber: Man kann aber auch eigene Eingabekomponenten schreiben, aber ich weiß nicht ob Dir das jetzt schon zu weit geht.
Gruß Marian
Hallo Marian,
danke für deine schnelle Antwort. Wenn ich #item.getClass() ausgebe, erhalte ich aber einen anderen Datentyp, nämlich den "DefaultItemEvaluator". Diesen kann ich keiner der beiden APIs finden.
Aber deine Antwort ist sehr hilfreich, wenn auch leider enttäuschend für meine Zwecke.
Bg Marc
Hallo Marc,
mein Fehler. Der Rückgabetyp bei der FS_LIST spielt nur bei Templates eine Rolle. #item ist hier erklärt:
http://www.e-spirit.com/odfs51/Vorlagenentwicklung/Vorlagensyntax/Systemobjekte/item/?community
Der DefaultItemEvaluator ist keine offizielle API.
Gruß Marian