Erstellen eines Modules
Aus MAXcms
Inhaltsverzeichnis |
[bearbeiten] Was ist ein Modul?
Module sind fertige Html Bausteine, die in einer Webseite eingabut werden können, als Beispiel (Gästebuch, Kontaktformular, usw).
Eine umfangreiche Sammlung wichtiger Module ist bereits verfügbar.
MAXcms deckt eine große Anzahl gängiger Anforderungen an die Funktionalität einer Website ab. U.a. werden folgende Funktionen direkt mit ausgeliefert:
- Gästebuch.
- Forum.
- Chat.
- Formulare.
- ...
[bearbeiten] Wie wird ein Module in Maxcms erstellt?
In Maxcms auf Hauptmenu anklicken, dann Module /Tags auswählen und Module-creator anklicken.
Wenn ein Modul erstellt wird, werden folgende Seiten automatisch erzeugt:
- mod.module_name.php
- tpl.module_name_view.html
- tpl.module_name_edit.html
[bearbeiten] 1.mod.module_name.php
[bearbeiten] Module als Container von Sub-Modulen
Wenn Sie thematisch gleiche Module in einem Container-Modul zusammenfassen wollen, funktioniert dies folgender Maßen:
Sie erstellen zunächst wie gehabt ein Modul und registrieren dieses in der reg.modul.php.
Wie jedes andere Modul auch, besitzt ein Container-Modul eine getHTML()- sowie eine editModul-Methode, die Sie in der Container-Klasse mit einem vorgegebenen Programmcode redifinieren müssen.
Zusätzlich zu einem normalen Modul, muss die Methode subModulListe() implementiert werden. In dieser werden die Submodule des Container-Moduls in einem Array definiert.
Die Implementierung der Container-Klasse und ihrer Methoden sieht dann beispielsweise wiefolgt aus:
<?php
class modul_MeinContainerModul extends thcms_modul_parent
{
function getHTML($setWorkTables)
{
$html .= $this->subModulgetHTML($this->subModulListe());
return($html);
}
function editModul()
{
$html .= $this->subModulSelect($this->subModulListe());
return($html);
}
function subModulListe()
{
$data = array();
$data[] = array("name"=>"submodul_1",
"title"=>"Erstes Submodul",
"file"=>dirname(__FILE__)."/mod.submodul_1.php",
"class" =>"modul_Submodul_1");
$data[] = array("name"=>"submodul_2",
"title"=>"Zweites Submodul",
"file"=>dirname(__FILE__)."/mod.submodul_2.php",
"class" =>"modul_Submodul_2");
return($data);
}
}
?>
Anders als normale Module, müssen die Submodule nicht in der reg.modul.php registriert werden.
Möchten Sie nun das Container-Modul in Ihren Content-Bereich einfügen, wählen Sie dazu einfach das betreffende Modul aus der Selectbox aus. Es öffnet sich direkt der Backend-Bereich dieses Container-Moduls, in dem Sie nun das gewünschte Submodul auswählen können.
[bearbeiten] Objekt-Methoden
[bearbeiten] getHTML($swt)
[bearbeiten] editModul()
[bearbeiten] Abfragen von Parametern im Backend eines Moduls
$this->defaultDataOpen = true;
$this->askForModulConfigData("ID_Name","Caption-Text","textline");
Um diese abgefragten Werte zu nutzen kann dies anhand der ID abgefragt werden:
$template = $this->getModulConfigData("ID_Name");
Type:
- textline
- Fragt eine einzelne textzeile ab
Beispiel: $this->askForModulConfigData("ID_Name","Caption-Text","textline"); - checkbox
- Beispiel: $this->askForModulConfigData("ID_Name","Caption-Text","checkbox", array(array("value"=>1", "text"=>"abc")) );
- select
- Beispiel: $this->askForModulConfigData("ID_Name","Caption-Text","select", array(array("value"=>1", "text"=>"abc")) );
