Knowledgebase:Module manuell installieren

From Cloudrexx Development Wiki
Jump to: navigation, search

Kurzbeschreibung

Manchmal ist es nötig, ein Modul von Hand zu installieren. Diese Anleitung zeigt am Beispiel vom Knowledgebase:Adressverzeichnis wie.

Folgende Elemente müssen vorhanden sein:

  • Das Modulverzeichnis module/memberdir
  • Die SQL-Queries, z.B. aus dem Changelog
  • Die aktuellen Core-Lang-Files (der Ordner /lang)
  • Die Frontend-Seiten vom Modul aus dem Content Manager

Benötigte Dateien

Das Verzeichnis memberdir mittels FTP Client in das Verzeichnis module/ kopieren. Anschliessend das Verzeichnis lang ins Contrexx Knowledgebase:Hauptverzeichnis kopieren und dabei die bestehenden Dateien überschreiben.

Datenbank Tabellen

folgende Datenbank Tabellen müssen von der gleichen Contrexx Version kopiert werden.

contrexx_module_repository
contrexx_backend_areas
contrexx_module
contrexx_module_NAME-DES-MODULES*

Index.php Startdateien anpassen

Damit das Modul aufgerufen werden kann, müssen die Index-Files angepasst werden.

Frontend

Im Sourcecode index.php befindet sich der Code

//-------------------------------------------------------
// start module switches
//-------------------------------------------------------
switch ($section){

, Anschliessend folgen alle möglichen Moduleabschnitte. Ein neuer solcher Abschnitt muss erstellt werden:

//-------------------------------------------------------
// Memberdir
//-------------------------------------------------------
	case "memberdir":
		$modulespath = "modules/memberdir/index.class.php";
		if (file_exists($modulespath)) require_once($modulespath);
		else die ($_CORELANG['TXT_THIS_MODULE_DOESNT_EXISTS']);
		$objMemberDir = &new memberDir($page_content);
            $objTemplate->setVariable('CONTENT_TEXT', $objMemberDir->getPage());
 	break;

Falls es sich um ein anderes Modul als Adressverzeichnis handelt, müssen die Daten angepasst werden.

Backend

Im sourcecode admin/index.php befindet sich der Code

switch($cmd) {

. Anschliessend haben alle Module einen Abschnitt. Ein neuer solcher Abschnitt muss erstellt werden:

        //-----------------------------------------------------------------------------------------------
        // Memberdir
        //-----------------------------------------------------------------------------------------------
        case "memberdir":
            $objPerm->checkAccess(83, 'static');
            $modulespath = ASCMS_MODULE_PATH . "/memberdir/admin.class.php";
            if (file_exists($modulespath)) require_once($modulespath);
            else die($_CORELANG['TXT_THIS_MODULE_DOESNT_EXISTS']);
            $subMenuTitle = $_CORELANG['TXT_MEMBERDIR'];
            $objMemberdir = &new MemberDirManager();
            $objMemberdir->getPage();
        break;

Falls es sich um ein anderes Modul als Adressverzeichnis (memberdir) handelt, müssen die verschiedenen Werte angepasst werden.

Content Pages

Eine Neue Seite im Knowledgebase:Content Manager erstellen. Den Code im Quelltext-Modus (!) reinkopieren.

Anschliessend unter Erweiterte Optionen genau wie in der Vorlage den Modulnamen auswählen und gegebenfalls das cmd anpassen.