Nehmen wir mal an, ich habe etwas nur suboptimal gemacht und möchte das nun korrigieren.
Ich ändere nun ein paar Daten in der tca.php und ext_tables.sql.
Nun muss aber auch ein PHP-Skript hingehen und Daten aus einer Tabelle in die verbeserte Tabelle verschieben. Die alte Tabelle kann dann gelöscht werden.
Wie kann man das machen, damit beim installieren der neuen Version dieser Extension automatisch
dieses Bereinigungs-Skript ausgeführt wird???
Kann man dieses Bereinigungs-Zeugs in die tca.php packen oder wie oder was?
Hallo.
Weiß jetzt nicht,w ie es genua gelöst ist, aber mir fällt die static_info_tables ein. Dort wird auch bei der Installation erst die DB angelegt, und in einem zweiten Schritt werden - nach Auswahl des Charsets - werden die Daten importiert. Denke über denselben Weg könnte/sollte Dein problem lösbar sein.
Viele Grüße
Julian
..oder sr_feuser_register
Da wird ca. eine halbe tonne an hooks und anderen classes geladen. Auf die gleiche Art und weise kann das script geladen und ausgeführt werden. Ob das jetzt ein hook ist oder eine weitere Klasse, ist beim Install der Ext. erstmal zweitrangig..
du erstellst eine datei class.ext_update.php im ordner der extension und darin eine klasse ext_update und eine funktion main()
darin kannst du dann updaten wie du willst und aufgerufen kann die funktion über den extension manager werden
georg
Der Tip zu static_info_tables war gut. Dort habe ich ein Beispiel für die Sache mit der "class.ext_update.php" gefunden.
Damit funktioniert das wunderbar.
Einziger Nachtiel: man muss die Benutzer darauf hinweisen, dass sie den Menüpunkt "UPDATE!" auswählen müssen.
Eleganter hätte mir eine andere Variante gefallen:
Checkboxen direkt nach dem Installieren der Extension bekommt man, wenn man Einträge in eine Datei Namens "ext_conf_template.txt" hinzufügt.
Die Sache scheint sich aber nicht für SQL-Statements zu eignen. Ich wüsste jedenfalls nicht, wohin ich die dann packen sollte.
Ich werde also bei der "class.ext_update.php"-Lösung bleiben.