Frage zur Datenbak Modulinstallation

Begonnen von lenzen24, 01 September 2021, 21:03:53

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

lenzen24

Hallöle,
ich möchte ein Plugin erstellen und nutze als Vorlage das Gästebuch.
Soweit so gut, alle Datenbankangaben, Sprachfiles etc angepasst und in das modules Verzeichnis geladen.
Wenn ich mich jetzt im Adminbereich anmelde, dann kommt eine Fehlermeldung der mx_db_mysqli.php das die Datenbanktabellen nicht existieren. Von der Fehlermeldung aus kann man auch den Adminbereich nicht mehr erreichen.
Logisch existieren die Datenbanktabellen noch nicht, das ist auch soweit klar. Wenn ich die per sql anlege, dann funktioniert ja auch alles wie es soll, ABER....
Sollte es nicht so sein, dass ich ein Modul erstelle im modules Ordner reinpacke, mich im Adminbereich anmelde, das Modul aktiviere UND dann die Datenbanktabellen angelegt werden?
Die Datei dazu ist ja im Gästebuch vorhanden:
core/install.tabledef.php

Wo liegt mein Denkfehler? Oder habe ich was übersehen?

Gruss
Sascha

Olaf

erstmal zur Terminologie: "Plugins" haben keine Ausgabe, "Module" schon. das Gästebuch ist ein "Modul", auch daran zu erkennen, in welchem Ordner die AddOns liegen.....

Ich gehe davon aus, daß du ein "Modul" meinst.

1. das Gästebuch ist aber so was von alt, das taugt sicher als Vorlage wenig. es sei denn, du hast dich ausschließlich an der Modulstruktur orientiert.
2. die install.tabledef.php wird nur von der Setup-Routine aufgerufen, sonst nicht
3. im Moment musst du dich (noch) selbst darum kümmern, dass di Tabellen angelegt werden. Am besten im Adminbereich, wenn das Modul aufgerufen wird, einen Test zu machen, ob die Tabellen vorhanden sind, ansonsten anlegen lassen.... (so hab ich es bisher gehandhabt)
4. bitte darauf achten, das für PHP8 schon zu programmieren. am Besten auch alles in Klassen kapseln.....

Wenn du Fragen hast.... melde dich, oder info auch hier

Zukünftig ist geplant : bei Aktivierung eines Moduls eine Datei im core-Verzeichnis aufzurufen (z.Bsp.: activate.php), bzw. die Module über eine Installationsroutine zu kopieren und installieren, inkl. ggf. Datentabellen (dann wird auch die install.tabeldef.php aufgerufen)
Bei den Plugins wird das schon so mit der activate.php gehandhabt.

...ich muss mal das LeerModul wieder vorholen.....  :gruebel:
g

Olaf

Kein Support über PN, Mail etc.!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

lenzen24

Moin,
Danke für die Infos erstmal so weit.
Gruss
Sascha

Olaf

ich habe mal das _blank-Modul wieder vorgeholt....
:yltype:
hier zum Download
g

Olaf

Kein Support über PN, Mail etc.!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!