Seite 1 von 1

[Beginner] Wie teste ich Module???

Verfasst: Mi 29. Nov 2006, 21:04
von darwin
Hi@all,
ich hab die suche schon bemüht und bin leider nicht fündig geworden.
So läuft es mit Contenido eigentlich ganz gut. Nur möchte ich nun einen
Schritt weitergehen und evtl. ein Modul selber erstellen.

Nur wie testet man Module bzw. führt diese aus (Beispiel stese Mod_Rewrite):

Code: Alles auswählen

<?php
cInclude("classes","class.modrewrite.php");

ModRewrite::reset_aliases();
print "fertig";
?>
Es geht hier nicht speziell um diesen Schnipsel... sondern das wie und das richtig ...

Danke schonmal für jeden tipp.

gruß chris

PS: Falls es der falsche Bereich war, bitte verschieben, Danke.

Verfasst: Mi 29. Nov 2006, 21:24
von HerrB
Habe jetzt das Problem noch nicht erkannt, da die vorhandenen Module im Beispielmandanten ausreichend Material bieten sollten.

Du erstellst ein Modul, schreibst in die Ausgabe

Code: Alles auswählen

<?php
   echo "Hello world";
?>
bindest das Modul in ein Template ein, erstellst eine Seite, die das Template nutzt und rufst die Seite auf bzw. gehst in den Editor.

Das cInclude, was Du verwendet hast, liest halt die Datei ein und stellt die darin verfügbaren Klassen und Funktionen zur Verfügung. Wie man sie benutzt, kann man u.U. aus dem Inhalt der Datei ermitteln, auch wenn - zumindest für Contenido-eigene Dateien - die Dokumentation bescheiden ist.

Gruß
HerrB

Verfasst: Mi 29. Nov 2006, 21:48
von darwin
Danke@Herr B ...
ganz ehrlich... ich dachte immer das ich dies ausserhalb
contenido testen sollte... so wie du es gerade erkärt hast, hab ichs mir
fast schon gedacht und auch gerade eben ausprobiert.

Danke für den Tipp.

gruß chris

Verfasst: Do 30. Nov 2006, 09:27
von kummer
du kannst nicht alle module ausserhalb von contenido testen. wenn ein modul umgebungsvariablen oder funktionen von contenido verwendet, wird es ausserhalb dieser umgebung nicht lauffähig sein. es gibt module, die keinen zugriff von contenido-funktionen und -umgebungsvariablen benötigen. die meisten allerdings schon. insofern musst du tests (fast) immer innerhalb von contenido durchführen.

Verfasst: Do 30. Nov 2006, 10:36
von darwin
ok, Danke @ Herr B & kummer
für den Schubbs in die richtige Richtung :D ...

habt Ihr evtl. einen Link zu dem Thema "Module selber stricken"
bzw. eine kleine Referenz der Umgebungsvariablen/Contenido-Funktionen?

Danke . gruß chris .

Verfasst: Do 30. Nov 2006, 10:49
von kummer
am besten du machst dir ein modul mit folgendem inhalt:

Code: Alles auswählen

<?php

echo '<pre>';
var_dump($cfg);
var_dump($cfgClient);
echo '</pre>';

?>
damit werden die inhalte der beiden umgebungsvariablen $cfg und $cfgClient ausgegeben. daneben hast du noch folgende variablen zur verfügung:

$lang = primärschlüssel der aktuellen sprache
$client = primärschlüssel des mandanten
$idart, $idartlang, $idcat = primärschlüssel der entsprechenden tabellen
$edit = true, wenn du dich im editiermodus befindest. sonst false.

das sind dann so die wichtigsten.

ach ja, das datenbankobjekt findet sich in der variable $db.

das ist auch schon mehr oder weniger alles, was du brauchst. der rest ist php...

Verfasst: Do 30. Nov 2006, 10:59
von Dodger77
Weiterhin kann man einfach mal in den mitgelieferten Klassen und Funktionen stöbern. Es gibt dazu hier eine API-Dokumentation, die ist aber schon etwas älter:

http://sourceforge.net/project/showfile ... e_id=98629

Zur Not kann man sich das natürlich auch direkt in den Dateien anschauen.

Desweiteren interessant dürften sein: CMS-Typen (siehe Administrator-Handbuch 3.2.4) und CMS_VAR[x]/CMS_VALUE[x] (Admin-Handbuch 3.2.5).

Verfasst: Do 30. Nov 2006, 11:15
von darwin
Danke@all...
für Eure Tipps. Werd mir die Links von Dodger77
mal reinziehn. Bei Fragen komm ich wieder ;)

gruß chris

Verfasst: Do 30. Nov 2006, 15:05
von knb
Das $auth Objekt ist auch noch da- es ist global und enthält viele interessante Werte.