[HomePage :: Module :: Eigenes Modul mit imBuilding erstellen :: Dieser Seite] |
Das Ideas IPF Object |
Module bauen mit imBuilding - Tutorial - Seite 8
Nächste Seite: Der Ideas IPF Handler
Vorige Seite: Erste Betrachtungen
Betrachten wir zunächst das Object genauer. Das Object ist eine Klasse, genannt mod_ideas_Ideas, also mod_modulName_itemname, welches hier in diesem Fall die IPF Klasse icms_ipf_seo_Object erweitert. Würde es sich um ein nicht-Seo-Modul Handeln, würde hier nur icms_ipf_Object stehen. Will man sich die Klasse genauer anschauen braucht man nur der Ordnerstruktur im Libraries-Ordner folgen. Also kann man hier im Ordner "/icms/ipf/seo/ die Datei Object.php finden. Diese enthält im Großen und Ganzen nur das, was zur Erweiterung der Seo-Funktionalität benötigt wird. Also Felder für short_ur (der SEO-URL Title des Objects), die meta_keywords und meta_description. Ansonsten erweitert die Klasse wiederum ebenso das icms_ipf_Object, welche überhaupt die Refferenz-Datei für das Können der IPF-Modul Objekte ist. Werfen wir also einen Blick auf den constructor, der von imBuilding generiert wurde:
icms_ipf_object::__construct($handler);
$this->quickInitVar("ideas_id", XOBJ_DTYPE_INT, TRUE);
$this->quickInitVar("title", XOBJ_DTYPE_TXTBOX, TRUE);
$this->quickInitVar("dsc", XOBJ_DTYPE_TXTAREA, TRUE);
$this->quickInitVar("body", XOBJ_DTYPE_TXTAREA, FALSE);
$this->quickInitVar("url", XOBJ_DTYPE_URLLINK, FALSE);
$this->quickInitVar("file", XOBJ_DTYPE_FILE, FALSE);
$this->quickInitVar("image", XOBJ_DTYPE_IMAGE, FALSE);
$this->quickInitVar("created_by", XOBJ_DTYPE_INT, TRUE);
$this->quickInitVar("created_on", XOBJ_DTYPE_LTIME, TRUE);
$this->quickInitVar("updated_by", XOBJ_DTYPE_INT, FALSE);
$this->quickInitVar("updated_on", XOBJ_DTYPE_LTIME, FALSE);
$this->quickInitVar("active", XOBJ_DTYPE_INT, FALSE);
$this->quickInitVar("started", XOBJ_DTYPE_INT, FALSE);
$this->quickInitVar("finished", XOBJ_DTYPE_INT, FALSE);
$this->quickInitVar("status", XOBJ_DTYPE_INT, FALSE);
$this->quickInitVar("approved", XOBJ_DTYPE_INT, FALSE);
$this->quickInitVar("notif_sent", XOBJ_DTYPE_INT, FALSE);
$this->quickInitVar("comments", XOBJ_DTYPE_INT, FALSE);
$this->initCommonVar("counter");
$this->initCommonVar("dohtml");
$this->initCommonVar("doimage");
$this->initCommonVar("dosmiley");
$this->initCommonVar("docxode");
$this->setControl("image", "image");
$this->setControl("created_by", "user");
$this->setControl("updated_by", "user");
$this->setControl("active", "yesno");
$this->setControl("started", "yesno");
$this->setControl("finished", "yesno");
$this->setControl("approved", "yesno");
$this->initiateSEO();
}
Schauen wir zunächst auf
Wollen wir uns die Nächste anschauen. Diese ist noch einfacher aufgebaut und bietet nur ein paar Möglichkeiten.
Das IPF Object - initCommonVar()
Weiter gehts:
Aus Das IPF Object - setControl() nehmen wir mit, dass wir hier im Constructor zwei Zeilen zufügen müssen:
$this->setControl("file", "file");
Wir behalten im Hinterkopf, dass wir für den Constructor eine Funktion im Handler benötigen "getStatusArray" und dass wir hier den Datei-Upload erlauben.
Wir können nun hergehen, und und ein paar Felder im Formular verstecken. Zum Beispiel den Ersteller, Aktualierer und das jeweilige Datum können wir generieren und können uns die Felder also sparen. Auch haben wir Felder, die nicht zum ausfüllen gedacht sind, wie die Anzahl an Kommentaren oder notif_sent zur Überprüfung, ob die Benachrichtigung bereits versendet wurde.
Das IPF Object - hideFieldFromForm()
Last not least sehen wir hier noch $this->initiateSEO();
Dazu gibt es wenig genug zu sagen: Es kann nur aufgerufen werden, wenn unsere Objekt-Klasse icms_ipf_seo_Object verwendet und muss sonst weggelassen werden.
Was passiert dadurch? Als erstes werden dem Object im Formular 3 neue Felder bereitgestellt:
- short_url = einen SEO-Title für die URL
- meta_description für die META-Beschreibung
- meta_keywords für die META-Schlüsselwörter
Vorerst war es das, was wir hier machen können und wenden uns zunächst dem Kapitel Der Ideas IPF Handler.
Module bauen mit imBuilding - Tutorial - Seite 8
Nächste Seite: Der Ideas IPF Handler
Vorige Seite: Erste Betrachtungen