Mit dem Fragetyp "Plug-In" lassen sich in Formularen Werte aus einem Datapool via Autocomplete-Feld auslesen. Die Daten des gewählten Datapool-Datensatzes können in beliebige Felder geschrieben werden.
Die Konfiguration muss im Formular-Quellcode gemacht werden.
Feld vom Typ Plugin:
Struktur der SQL-Abfrage
Abfrage | Beispiel |
---|---|
String | <param name="SQL" type="String" value=""SELECT * FROM (SELECT * FROM (SELECT MAX(CASE WHEN 'KEY' = 'id' THEN value END) AS 'id', MAX(CASE WHEN 'KEY' = 'category' THEN value END) AS 'category', MAX(CASE WHEN 'KEY' = 'title_" + XUI_LANGUAGE + "' THEN value END) AS 'title_" + XUI_LANGUAGE + "', MAX(CASE WHEN 'KEY' = 'place_" + XUI_LANGUAGE + "' THEN value END) AS 'place_" + XUI_LANGUAGE + "' FROM JAX_DATAPOOL WHERE (SOURCE_GUID = '3e66c961-0f42-48a0-9683-e44a96d831c2') GROUP BY POS) AS MATRIX) AS MatrixSummary WHERE category = 'SMPLAE_CAT' ${WHERE_APPEND} order by title_" + XUI_LANGUAGE + " asc ""/> |
String | <param type="String[]" value="id,category,title_${LANGUAGE},place_${LANGUAGE}"/> |
String[] | <param type="String[]" value="title_${LANGUAGE},place_${LANGUAGE}"/> |
String[] | <param type="String[]" value="id['xpath':'.';'valueCol':'id'],id['xpath':'f_id'],category['xpath':'.';'valueCol':'category'],category['xpath':'f_category'],id+title_${LANGUAGE}['xpath':'.';'valueCol':'title_${LANGUAGE}'],title_${LANGUAGE}['xpath':'f_title'],id+place_${LANGUAGE}['xpath':'.';'valueCol':'place_${LANGUAGE}'],place_${LANGUAGE}['xpath':'f_place'],"/> |
String | <param type="String" value="&nbsp;-&nbsp;"/> |
int | <param type="int" value="1"/> |
boolean | <param type="boolean" value="true"/> |
Source definieren (SOURCE_GUID)
Aktuelle Datenquelle aus dem Datapool:
SOURCE_GUID = '" + getCurrentDataPoolSourceGUID("GUID-DATA-POOL") + "'
Nicht vergessen die korrekte GUID des Datapool einzutragen (GUID-DATA-POOL).
Bestimmte Datenquellen-GUID:
SOURCE_GUID = 'GUID-DATENQUELLE'
Nicht vergessen die korrekte GUID der Datenquelle einzutragen (GUID-DATENQUELLE).
Ausgabe der Datapool-Daten im Formular:
Als Beispiel ein Anmeldeformular, bei dem die ID des Kurses via Parameter (?kurs=DE202201) übermittelt wird:
So lassen sich via Datapool auf einer Website Listen publizieren (Bestelllisten für Publikationen oder Veranstaltungslisten). Mit dem Einbinden des Datapools in ein Formular (Anmelde- oder Bestellformular) kann auf die gleichen Daten zurückgegriffen werden. Die Datenpflege passiert einzig im Datapool, es sind keine Anpassungen an den Formular nötig.
Datapool Abfrage in einer Tabelle
Sollen mehrere Datensätze aus einem Datapool ausgewählt werden können (zum Beispiel in einem Bestellformular), kann das Plugin-Feld in die Tabelle integriert werden. Als Zielfelder der Daten ("updateFieldsConf") jeweils die Spaltennummer der Tabelle angeben: "../c2"