Es hat sich ja einiges geändert, was die Modulerstellung anbelangt. Es steht nun ein Autoinclude-System zur Verfügung, was Änderungen an den Shop-Dateien in Zukunft verhindern sollte. In Kürze funktioniret das so:
Es gibt unter includes/extra/ bzw, admin/includes/extra/ weitere Unterverzeichnisse. Dateien in diesen Unterverzeichnissen werden automatisch an den jeweiligen Stellen im Code eingebunden und ausgeführt. Die Stellen im Code kann man anhand des Verzeichnisnamens ablesen. Die Mödlichketen solcher Stellen werden in weiteren Versionen vermutlich zunehmen.
Im Code selber wird an Stellen wie
foreach(auto_include(DIR_FS_ADMIN.'includes/extra/application_top/application_top_end/','php') as $file) require ($file);
eingebunden.
Eine weitere Stelle für die Einbindung von Dateien ist lang/SPRACHE/extra/. Damit ist auch die Mehrsprachigkeit ohne Code-Änderungen möglich.
Ebenfalls möglich ist die Erweiterung im Backend. Hierzu bitte die "example"-Dateien in den Unterordnern von admin/includes/extra/ beachten. Hier lassen sich neue Funktionen im Backend inkl. Menüeinträgen nachrüsten, ohne dass Code-Änderungen notwendig sind.
Ein Problem gibt es allerdings bei Erweiterungen: Es besteht die Gefahr, dass mehrere Modulherstller oder Eigenentwicklungen gleiche Funktionsnamen verwenden (z. b. print_order()). Um das zu vermeiden hatte ich in Ticket 801 bereits vorgeschlagen den Usernamen hier im Forum als Präfix zu nutzen, also statt print_order() ein webald_print_order(). Gleiches gilt auch für die Benenung der Dateien in den autoinclude-Ordnern. Ist aber derzeit nur ein Vorschlag.
Linkback: https://www.modified-shop.org/forum/index.php?topic=34700.0