[HomePage :: Module :: Eigenes Modul mit imBuilding erstellen :: Das Ideas IPF Object :: Dieser Seite] |
Das IPF Object - setControl() |
Definiert ist die Funktion setControl() wie folgt:
$var ist hier unser benanntes Feld "image", $options sind die Optionen, die wir setzen wollen. Diese Liste im einzelnen durchzugehen wäre zu Viel. Wie finde ich die möglichen Optionen? Gehe zu
Jeden hier zu findenden Dateinamen kann man unterm Strich einsetzen und nutzen. Ein paar benötigen Zusatzschritte, von denen ich einige als Beispiel nennen will:
1. Das Textarea-Feld
Wir haben in unserem Beispiel-Modul 2 Felder als Textarea definiert: dsc und body. Nun wollen wir für ersteres eine einfache htmlarea haben, für Letzteres den Standardeditor unserer ImpressCMS-Installation
Die HTML TextArea
Der Code hierfür würde wie folgt aussehen:
Der ImpressCMS Standardeditor
Nutzt man diese Funktion werden 2 Einstellungen berücksichtigt:
- In den System-Haupteinstellungen der vordefinierte Standardeditor
- Die in den Gruppenberechtigungen gesetzten Berechtigungen, den WYSIWYG-Editor zu benutzen
2. Ein Select-Feld
Wir hatten in den Vorüberlegungen gesagt, dass wir in dem Feld "status" gerne den aktuellen Status auswählen wollen. In diesem Falle würde das Feld wie folgt definiert werden:
Der Name bezeichnet den Namen des Elements. Ist hier keiner gesetzt, wird der Standard für den $data_type gewählt. $data_type ist in diesem Falle XOBJ_DTYPE_INT. Wird hier ein Array zugefügt erhält man ein select-Feld, sonst eine Textbox für Integer. Also könnte man "name" auch getrost Weglassen.
"method" ist der name der Funkltion innerhalb eines Object-Handlers, welche mir den gewünschten Array für das Select-Feld liefert.
"itemHandler" bzeichnet den Handler der zu Nutzen ist und "module" das Modul, in dem sich der Handler befindet. in diesem falle lautet beides "ideas", weil unser Modul so heißt, sowie unser item. Hier kann man auch auf andere Funktionen aus anderen Modulen verweisen. Als Beispiel: ich möchte hier eine Auswahl aller Artikel im module "article" haben, so würde das folgendermaßen aussehen:
Wichtig ist hierbei nur, dass es die Funktion "getList" auch gibt und ich einen integer-Wert zum Abspeichern bekomme. Beides ist hier im Fall gegeben, da "getList" eine Standardfunktion im handler ist, die es in allen IPF Modulen gibt und mir eine Liste aus Artikel-Titeln gibt mit dem Schlüssel "article_id" für die ID des Articles.
Ok, wir bleiben bei der Methode unseres Modules und gehen zum Beispiel für ein Multi-Select-Feld:
3. Ein Multiselect-Feld
Wollten wir Beispielsweise für unseren Statuseine Multiple Auswahl haben, würde das wie folgt aussehen:
Hier MÜSSEN wir den "name" angeben, da wir sonst kein Multiselect Feld erhalten. "method", "itemHandler", "module" werden ebenso gehandhabt wie für das Select-Feld
4. Ein Radio-Button-Feld
Möchten wir Mittels Radio-Buttons auswählen, anstatt einer Drop-Down-Selectbox sind dafür keine großen Änderungen Notwendig:
Und das War auch schon alles. Außer, dass der "name" nun "radio" ist, bleibt alles wie gehabt.
5. Ein Feld für den Datei-Upload
Wir hatten weiter gesagt, dass wir mit dem Feld "file" eine Möglichkeit für den Datei-Upload bieten wollen. ImBuilding hat uns zwar das Feld mit dem richtigen $data_type XOBJ_DTYPE_FILE eingefügt, aber eine Zeile fehlt noch:
Das ist, zumindest an dieser Stelle alles, was man machen muss. Weitere Informationen finden wir im Handler.