Thema dieser Dokumentation / Das FirstSpirit 5 Modul- / Komponenten-Modell / Beispiel: Implementierung einer Eingabekomponente / GomForm - XML-Repräsentation im SiteArchitect

GomForm - XML-Repräsentation im SiteArchitect

Alle GOM[1]-Form-Implementierungen können die abstrakte Basis-Implementierung AbstractGomFormElement erweitern (siehe AbstractGomFormElement). Diese stellt grundlegende Funktionalitäten für die meisten Formular-Elemente zur Verfügung, beispielsweise den Parameter useLanguages für die Verwendung von Mehrsprachigkeit innerhalb einer Eingabekomponente oder das Attribut convertEntities für die Konvertierung von Sonderzeichen in HTML-Code (zur Beschreibung dieser Parameter und Attribute siehe FirstSpirit Online-Dokumentation):

Listing: Beispiel GOMForm – Erweitern mit der abstrakten Basisimplementierung

public class GomCustomTextarea extends AbstractGomFormElement {
...
}

Die Implementierung des Formular-Elements definiert den eindeutigen XML-Identifier für die neue Eingabekomponente, hier <CUSTOM_TEXTAREA>, der für die XML-Repräsentation der Eingabekomponente im Vorlagenbereich des FirstSpirit SiteArchitects benötigt wird:

Listing: Beispiel GOMForm – Definition eines XML-Identifiers

// Editor XML-Identifier:
integrates the editor component into the GOM form template

public static final String TAG = "CUSTOM_TEXTAREA";

...

//--- AbstractGomElement ---//

/**
* Return the default tag for a gom element.
*
* @returnThe elements default tag.
*/
protectedString getDefaultTag() {
return TAG;
}

....
Wichtig Bei der Vergabe des Identifiers sollte darauf geachetet werden keine Notation mit „FS_“ zu verwenden, da dies zu Konflikten mit FirstSpirit-Eingabekomponenten führen kann.  

Werden für die Konfiguration der Eingabekomponente noch weitere Parameter und Attribute benötigt, so können diese ebenfalls hinzugefügt werden. Soll die neue Eingabekomponente beispielsweise einen Parameter zur Definition der maximal angezeigten Textzeilen erhalten, so kann ein Attribut rows und dessen Methoden (Getter/Setter) ergänzt werden:

Listing: Beispiel GOMForm – Definition von Attributen

/**
* Number of displayed rows.
*/
privatePositiveInteger _rows;

/**
* Value of gom attribute 'rows'.
*
* @return Number of displayed rows.
* @see #setRows(de.espirit.firstspirit.common.number.PositiveInteger)
* @see #rows()
*/
@GomDoc(description="Number of displayed rows", since="0.0")
@Default("20")
@Nullable
publicPositiveInteger getRows() {
return _rows;
}

/**
* Set value of gom attribute 'rows'.
*
* @param value Number of displayed rows.
* @see #getRows()
* @see #rows()
*/
public void setRows(@Nullable final PositiveInteger value) {
_rows = value;
}

/**
* Convenience method to get the number of displayed rows.
* Default value is 20 rows.
* @return Maximum number of rows.
* @see #getRows()
* @see #setRows(de.espirit.firstspirit.common.number.PositiveInteger)
*/
public int rows() {
if (_rows != null) {
return _rows.intValue();
}
return 20;
}

Die Validierung der XML-Tags und -Attribute erfolgt auf dem FirstSpirit-Server durch den Aufruf von validate() aus der abstrakten Basis-Implementierung.

Nach der Implementierung des Formular-Elements sieht die XML-Repräsentation der Eingabekomponente folgendermaßen aus:

Listing: Beispiel - XML-Repräsentation der Eingabekomponente im SiteArchitect

<CMS_MODULE>
<CUSTOM_TEXTAREA name="myEditor" rows="10">
<LANGINFOS>
<LANGINFO lang="*" ..."/>
<LANGINFO lang="DE" ..."/>
</LANGINFOS>
</CUSTOM_TEXTAREA>
</CMS_MODULE>

[1] GOM – GUI Object Model

© 2005 - 2021 e-Spirit AG | Alle Rechte vorbehalten. | FirstSpirit 2021-04 | Datenschutz | Impressum | Kontakt