SANDOBA//CMS - Content-Management für den MittelstandSANDOBA//CMS - Content-Management für den Mittelstand

Übersichtlicher Administrationsbereich

Überzeugende Ergebnisse

Informationen zum CMS Contentpapst Pressemeldung zur Veröffentlichung von Contentpapst 2016.1

Allgemeines zur Modulentwicklung

Diese Informationen beschreiben die Entwicklung neuer Module für Contentpapst auf Basis des neuen objektorientieren Ansatzes. Contentpapst verwendet hierbei Klassen und deren Vorteile wie Ableitung, Vererbung und Wiederverwendbarkeit. Sie sollten sich also gut mit Klassen auskennen, um damit arbeiten zu können.

Weitere Seiten: 1 2

Grundsätzlicher Aufbau

Jedes Modul in Contentpapst, welches den objektorientierten Ansatz verwendet, besteht aus mindestens drei Klassen, die in jeweils eigenen Dateien gespeichert werden:
  • class.base.php
    Beherbergt die Klasse "sandoba_[MODULNAME]". Diese stellt grundlegende Methoden zum Objekthandling bereit und wird daher u.a. von den anderen Klassen des Modules aber auch extern genutzt.
  • class.admin.php
    Die Klasse "sandoba_gui_[MODULNAME]" generiert den Administrationsbereich des Modules mit allen Formularen, Menüs usw.
  • class.index.php
    Diese Klasse heißt ebenfalls "sandoba_gui_[MODULNAME]". Jedoch wird diesmal das Frontend, d.h. der öffentlich zugängliche Bereich generiert.
Wenn Sie sich jetzt testweise einige derart aufgebaute Module anschauen, werden Sie sicherlich feststellen, dass sich die Klassennamen jeweils leicht unterscheiden. Denn zur besseren Unterscheidung muss "[MODULNAME]" immer durch den Verzeichnisnamen ersetzt werden, in dem das Modul liegt. Die Basis-Klasse des Modules "languages" heißt also dementsprechend "sandoba_languages".

Zu beachten ist auch, dass die Klassen in den Dateien "class.admin.php" und "class.index.php" von der Klasse "sandoba_[MODULNAME]" abgeleitet werden müssen (über "... extends sandoba_[MODULNAME]"), damit deren Methoden genutzt werden können.

Benötigt werden weiterhin die folgenden Dateien / Ordner für jedes Modul:
  • config.php
    Zentrale Konfigurationsdatei für das Modul mit wesentlichen Einstellungen (u.a. Installation notwendig (j/n), Versionsnummer, Name und Informationen zum Autor).
  • class.webservices.php
    Die Klasse "sandoba_webservices_[MODULNAME]" ermöglicht den Zugriff auf die Daten des Modules über XML-Webservices.
  • index.html
    Leere HTML-Datei um den direkten Aufruf des Ordners im Browser zu verhindern.
  • languages/[SPRACHE]/index.php
    Für jede im System vorhandene Sprache muss eine entsprechende Sprachdatei in den Unterordnern vorhanden sein.
  • Ordner "images" und "templates"
    In diesen beiden Ordnern sollten die vom Modul genutzten Grafiken und Vorlagen untergebracht werden.


Kommentieren Kommentieren (0 Kommentare)

Datei "config.php": Die Konfigurationsdatei

In der zentralen Konfigurationsdatei für ein Modul werden wichtige Einstellungen und Informationen festgehalten. Die Datei muss als "config.php" im Hauptordner des Modules abgelegt werden. Jedes Modul setzt diese Datei zwingend voraus.

<?php
$module_config["example"]["name"] = "example";
// Interner Name des Modules (wie der Ordnername)

$module_config["example"]["version"] = "1.0";
// Versionsnummer des Modules

$module_config["example"]["date"] = "01.03.2011";
// Datum der letzten Arbeiten an diesem Modul

$module_config["example"]["author"] = "sandoba.de medien agentur";
// Name des Modul-Entwicklers

$module_config["example"]["email"] = "contact@sandoba.de";
// Email-Adresse des Modul-Entwicklers

$module_config["example"]["website"] = "http://www.sandoba.de/";
// Webseite des Modul-Entwicklers

$module_config["example"]["image"] = "";
// URL zu einem Bild des Modules (für die Übersicht im Administrationsbereich, z.B. "modules/example/images/front.gif")

$module_config["example"]["status"] = "1";
// Status des Modules (1 für Aktiviert, 0 für Deaktiviert, -1 für Deaktiviert im Administrationsbereich und im Frontend)

$module_config["example"]["install"] = "0";
// Mit dem Wert "1" muss das Modul zunächst unter "Einstellungen > Modulaktivierung" installiert werden

$module_config["example"]["show_list"] = "0";
// Im Administrationsbereich unter "Module" sichtbar (1 für Aktiviert, 0 für Deaktiviert)

?>


Kommentieren Kommentieren (0 Kommentare)

Datei "class.admin.php": Der Administrationsbereich

Der Administrationsbereich eines Modules wird über die Datei "class.admin.php" erstellt. Auch dies ist eine Klasse (genauere Informationen auch unter "Aufbau des Konstruktors").

<?php
class sandoba_gui_example extends sandoba_example {

     var $module_configuration;
     var $module_language;

     /*
          class sandoba_gui_example::__construct
          Konstruktor, dient der Initialisierung der Klasse und einiger Variablen.
     */

     function __construct() { }

     /*
          class sandoba_gui_example::install
          SQL-Befehle und sonstige Anweisungen zur Installation des Modules.
     */

     function install() { }

     /*
          class sandoba_gui_example::uninstall
          SQL-Befehle und sonstige Anweisungen zur Deinstallation des Modules.
     */

     function uninstall() { }

}
?>


Kommentieren Kommentieren (0 Kommentare)

Datei "class.base.php": Basis der Modulentwicklung

Die Aufteilung in verschiedene Klassen bietet die Möglichkeit, einzelne Methoden in anderen Bereichen wiederzuverwenden, ohne dass diese erneut in einer separaten Datei gespeichert werden müssten. Dies spart Zeit, da Änderungen nur einmal durchgeführt werden müssen. Zudem erhöht es die Übersichtlichkeit, da die Basisklasse für jedes Modul in der Datei "class.base.php" gespeichert ist. Wenn Sie eine neue Klasse erstellen, die auf die Methoden der Basisklasse eines Modules zurückgreifen soll, dann müssen Sie die Datei "class.base.php" per "include_once()" einbinden und die neue Klasse von der Basisklasse ableiten ("... extends sandoba_[MODULNAME]").

<?php
class sandoba_example {

     /*
          class sandoba_example::admin_main_menu
          Liefert die Navigationspunkte für die Haupt- und Unternavigation oben im Administrationsbereich zurück.
     */

     function admin_main_menu() {}

     /*
          class sandoba_example::admin_left_menu
          Liefert die Navigationspunkte für die Navigation links im Administrationsbereich zurück.
     */

     function admin_left_menu() {}

     /*
          class sandoba_example::canonical_url
          Liefert die Canonical-URL für eine bestimmte Seite in diesem Modul zurück (die aktuelle URL wird automatisch genutzt).
          Aufruf: $GLOBALS["cpmodule"]->active->canonical_url();
     */

     function canonical_url() {}

     /*
          class sandoba_example::frontend_editing
          Liefert die Optionen für das Frontend-Editing einer bestimmten Seite in diesem Modul zurück.
          Aufruf: $GLOBALS["cpmodule"]->example->frontend_editing();
     */

     function frontend_editing() {}

     /*
          class sandoba_gui_example::logging
          Liefert die formatierten Meldungen für die Log-Einträge zu diesem Modul zurück.
          Aufruf: $GLOBALS["cpmodule"]->example->logging(array("[OPTIONS]"));
     */

     function logging() {}

     /*
          class sandoba_gui_example::rewrite_rules
          Liefert die RewriteRules für die Umwandlung der Suchmaschinenfreundlichen URLs in die dynamischen URLs in diesem Modul zurück.
          Aufruf: $GLOBALS["cpmodule"]->example->rewrite_rules());
     */

     function rewrite_rules() {}

     /*
          class sandoba_gui_example::url
          Liefert die URL für eine bestimmte Seite in diesem Modul zurück.
          Aufruf: $GLOBALS["cpmodule"]->example->url("[TYPE]", array("[OPTIONS]"));
     */

     function url() {}

     /*
          class sandoba_gui_example::xml_sitemap
          Liefert die Einträge für die XML-Sitemap für dieses Modul zurück.
          Aufruf: $GLOBALS["cpmodule"]->example->xml_sitemap("[LANGUAGE]");
     */

     function xml_sitemap() {}

}
?>


Kommentieren Kommentieren (0 Kommentare)

Datei "class.index.php": Der öffentliche Bereich

Der öffentliche Bereich eines Modules wird über die Datei "class.index.php" erstellt. Auch dies ist eine Klasse (genauere Informationen auch unter "Aufbau des Konstruktors").

<?php
class sandoba_gui_example extends sandoba_example {

     var $module_configuration;
     var $module_language;
     
     /*
          class sandoba_gui_example::__construct
          Konstruktor, dient der Initialisierung der Klasse und einiger Variablen.
     */

     function __construct() {
     
          GLOBAL $file, $lang, $mode;

          $this->module_language = module_language($file) + $lang;

          $this->module_configuration["functions"] = array(
                                                                      "main"=>array("do_main", array("show"))
                                                                  );

     }

     /*
          class sandoba_gui_example::metatags
          Liefert die Metatags einer bestimmten Seite in diesem Modul zurück.
     */

     function metatags() {}

     /*
          class sandoba_gui_example::search
          Liefert die Konfiguration für die Volltextsuche in diesem Modul zurück.
     */

     function search() {}

     ##################################################################

     /*
          class sandoba_gui_example::do_main
     */

     function do_main($show) {
     
          // Einzelne Methoden...

     }

}
?>


Kommentieren Kommentieren (0 Kommentare)

Weitere Seiten: 1 2

<< zurück zur Startseite der Dokumentation

Hier finden Sie die eBusiness-/eCommerce-Spezialisten von sandoba.de:
https://www.sandoba.de/dokumentation/kategorien/allgemeines-zur-modulentwicklung-58/