Modul-Code auslagern ???

Gesperrt
derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Modul-Code auslagern ???

Beitrag von derSteffen »

Hallo,

gibt es eigentlich eine Möglichkeit Module auszulagern und als php oder txt-Datei zu verarbeiten. Das macht sich nämlich zum Testen recht gut, anstatt das ständige auf den Haken klicken, Seite wird neu geladen und dann muss man wieder zur besagten Stelle scrollen.

Ich dachte erst das wäre die Lösung: modules loadfromfiles true (http://forum.contenido.org/viewtopic.ph ... 1&start=30) aber das scheint es nicht zu sein!
Und es in einer PHP auszulagern und im Modul es mit include zu machen geht leider auch nicht, da hier die CMS-Variablen nicht erkannt werden.

Nur mal ne Frage!

Vielen Dank

MfG Steffen
Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Modul-Code auslagern ???

Beitrag von Spider IT »

Hallo Steffen,

Modulcode zum Laden der Datei /{Mandant}/includes/xyz.php:

Code: Alles auswählen

<?php
cInclude('frontend', 'includes/xyz.php');
?>
Das einzige, was in so geladenen Module nicht funktioniert, ist die Modulübersetzung (mi18n()), da die Texte nicht im Übersetzungsbereich des Moduls angezeigt werden.
Und für den Zugriff auf in Contenido vorhandenen Arrays und Variablen musst du diese in der inkludierten Datei global machen:

Code: Alles auswählen

global $cfg, $cfgClient, $client, $idcat, $idart, $lang, $_POST, $_GET, $_FILES;
Gruß
René
derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Re: Modul-Code auslagern ???

Beitrag von derSteffen »

Vielen Dank René, dass muss ich mal ausprobieren!

Eine Frage

Code: Alles auswählen

global $cfg, $cfgClient, $client, $idcat, $idart, $lang, $_POST, $_GET, $_FILES;
heißt dass ich in meiner ausgelagerten PHP (Modul) dass einfach nach dem <?php einfügen muss? Oder muss ich dann noch Zuweisungen dafür treffen?

Vielen Dank

MfG Stefen
Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Modul-Code auslagern ???

Beitrag von Spider IT »

Sofort nach <?php ist richtig.
Und du musst nicht alles so übernehmen, sondern nur das, was du im Modul benötigst (evtl. auch noch andere Variablen).

Aktuelles Beispiel:
Modul-Code:

Code: Alles auswählen

<?php
    cInclude('frontend', 'includes/filmdatenbank.inc.php');
?>
Anfang der Datei filmdatenbank.inc.php:

Code: Alles auswählen

<?php
# Initialisierung
global $db, $cfg, $cfgClient, $client, $edit;

$cfg['tab']['sit_film_event']               = $cfg['sql']['sqlprefix'] . '_sit_film_event';
$cfg['tab']['sit_kategorie']                = $cfg['sql']['sqlprefix'] . '_sit_kategorie';
$cfg['tab']['sit_programm']                 = $cfg['sql']['sqlprefix'] . '_sit_programm';
$cfg['tab']['sit_programm_termine']         = $cfg['sql']['sqlprefix'] . '_sit_programm_termine';
$cfg['tab']['sit_programm_filme_events']    = $cfg['sql']['sqlprefix'] . '_sit_programm_filme_events';
$cfg['tab']['sit_spielort']                 = $cfg['sql']['sqlprefix'] . '_sit_spielort';
$cfg['tab']['sit_special']                  = $cfg['sql']['sqlprefix'] . '_sit_special';
$cfg['tab']['sit_special_filme_events']     = $cfg['sql']['sqlprefix'] . '_sit_special_filme_events';
$cfg['tab']['sit_special_arten']            = $cfg['sql']['sqlprefix'] . '_sit_special_arten';
$msg = '';
$tpl = new Template();
Gruß
René
derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Re: Modul-Code auslagern ???

Beitrag von derSteffen »

Vielen Dank René für die Tipps!
Gesperrt