pragmaMx Support Forum

pragmaMx => Zusatzmodule => Thema gestartet von: lenzen24 am 01 September 2021, 21:03:53

Titel: Frage zur Datenbak Modulinstallation
Beitrag von: lenzen24 am 01 September 2021, 21:03:53
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
Titel: Re: Frage zur Datenbak Modulinstallation
Beitrag von: Olaf / TerraProject am 01 September 2021, 22:13:45
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 (https://www.pragmamx.org/Documents-Programmers-Guide-Id-8.html)

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:
Titel: Re: Frage zur Datenbak Modulinstallation
Beitrag von: lenzen24 am 02 September 2021, 07:19:40
Moin,
Danke für die Infos erstmal so weit.
Gruss
Sascha
Titel: Re: Frage zur Datenbak Modulinstallation
Beitrag von: Olaf / TerraProject am 02 September 2021, 09:01:37
ich habe mal das _blank-Modul wieder vorgeholt....
:yltype:
hier zum Download (https://www.pragmamx.org/modules.php?name=Downloads&op=view&lid=984)