[Beginner] Wie teste ich Module???

Gesperrt
darwin
Beiträge: 28
Registriert: Fr 23. Jun 2006, 15:59
Wohnort: Landshut
Kontaktdaten:

[Beginner] Wie teste ich Module???

Beitrag von darwin » Mi 29. Nov 2006, 21:04

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.

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Mi 29. Nov 2006, 21:24

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
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

darwin
Beiträge: 28
Registriert: Fr 23. Jun 2006, 15:59
Wohnort: Landshut
Kontaktdaten:

Beitrag von darwin » Mi 29. Nov 2006, 21:48

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
Zuletzt geändert von darwin am Do 30. Nov 2006, 10:42, insgesamt 1-mal geändert.

kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer » Do 30. Nov 2006, 09:27

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.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

darwin
Beiträge: 28
Registriert: Fr 23. Jun 2006, 15:59
Wohnort: Landshut
Kontaktdaten:

Beitrag von darwin » Do 30. Nov 2006, 10:36

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 .

kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer » Do 30. Nov 2006, 10:49

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...
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 » Do 30. Nov 2006, 10:59

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).

darwin
Beiträge: 28
Registriert: Fr 23. Jun 2006, 15:59
Wohnort: Landshut
Kontaktdaten:

Beitrag von darwin » Do 30. Nov 2006, 11:15

Danke@all...
für Eure Tipps. Werd mir die Links von Dodger77
mal reinziehn. Bei Fragen komm ich wieder ;)

gruß chris

knb
Beiträge: 224
Registriert: Fr 9. Sep 2005, 14:03
Wohnort: Potsdam
Kontaktdaten:

Beitrag von knb » Do 30. Nov 2006, 15:05

Das $auth Objekt ist auch noch da- es ist global und enthält viele interessante Werte.
Gruss,
Knut

Gesperrt