Dateien die updatesicher gemacht werden können¶
Klassen in folgenden Verzeichnissen (inkl. Unterverzeichnissen) können überladen werden:
DIR_FS_CATALOG . 'admin/includes/classes',
DIR_FS_CATALOG . 'admin/gm/classes',
DIR_FS_CATALOG . 'gm/classes',
DIR_FS_CATALOG . 'includes/modules/order_total',
DIR_FS_CATALOG . 'includes/modules/payment',
DIR_FS_CATALOG . 'includes/modules/shipping',
DIR_FS_CATALOG . 'gm/properties', *
DIR_FS_CATALOG . 'templates/' . CURRENT_TEMPLATE . '/source/classes', *
DIR_FS_CATALOG . 'system/controls', *
DIR_FS_CATALOG . 'system/data', *
DIR_FS_CATALOG . 'system/views', *
DIR_FS_CATALOG . 'system/request_port', *
DIR_FS_CATALOG . 'system/overloads',
DIR_FS_CATALOG . 'system/extender',
DIR_FS_CATALOG . 'system/classes',
DIR_FS_CATALOG . 'system/core'
* Verzeichnis ist ab Shopversion 2.1 standardmäßig nicht mehr vorhanden oder enthält keine Klassen mehr, wird aber trotzdem noch berücksichtigt
HTML-Dateien, die durch Smarty befüllt werden und JS-Dateien, die im gm/javascript sowie im CURRENT_TEMPLATE/javascript-Verzeichnis liegen, können durch eine -USERMOD-Datei ersetzt werden.
Der Ort der Datei, die USERMOD-fähig ist, ist übrigens irrelevant, denn es findet kein Verzeichnis-Scanning statt. Entscheidend ist die Einbindung. Statt eines normalen include(PFAD) wird include(get_usermod(PFAD)) aufgerufen.
Beliebige CSS-Dateien, die im Ordner CURRENT_TEMPLATE/usermod/css liegen, werden im Frontend auf jeder Seite geladen. Unabhängig von der Dateiendung wird jede Datei durch PHP geparst.
Beliebige JS-Dateien (auch durch PHP geparst), können im Frontend updatesicher eingebunden werden. Immer eingebunden werden Scripte im Ordner CURRENT_TEMPLATE/usermod/javascript/Global. Ansonsten funktioniert dies auch bereichsspezifisch. Folgende Bereiche stehen zur Verfügung:
Account
AccountHistory
CallbackService
Cart
Cat
Checkout
GVSend
Index
Manufacturers
PriceOffer
ProductInfo
Wishlist
Die Bereiche entsprechen dem page-GET-Paramter der gm_javascript.js.php. Wann welcher page-Parameter gesetzt wird, kann in der Methode ApplicationBottomExtenderComponent::init_page() eingesehen werden, die sich im Verzeichnis system/extender befindet. Durch Overloading kann der page-Parameter auch nach eigenen Wünschen geändert werden.