Für jeden Controller. Das kann in einem Overload gelöst werden: PHP: protected function _addAvailableControllers(HttpViewControllerRegistryInterface $registry){ parent::_addAvailableControllers($registry); $registry->set('Monevo', 'MonevoController'); $registry->set('MonevoEbay', 'MonevoEbayController'); // ...}
Kann man die GXEngine-Klassen nicht überladbar machen? Also die GXengine erst laden, nachdem die MainFactory aktiv ist?
Nur beim Verzeichnis Scan... Die Aktivierungsreihenfolge ist aber eine andere... Damit sind dies GXEngine-Klassen nicht über die Factory überladbar. require_once(DIR_FS_CATALOG.'GXEngine/GXEngine_init.inc.php'); require_once(DIR_FS_CATALOG.'system/core/BaseClass.inc.php'); require_once(DIR_FS_CATALOG.'system/core/logging/Debugger.inc.php'); require_once(DIR_FS_CATALOG.'system/core/caching/DataCache.inc.php'); require_once(DIR_FS_CATALOG.'system/core/caching/CachedDirectory.inc.php'); require_once(DIR_FS_CATALOG.'system/core/Registry.inc.php'); require_once(DIR_FS_CATALOG.'system/core/ClassRegistry.inc.php'); require_once(DIR_FS_CATALOG.'system/core/ClassOverloadRegistry.inc.php'); require_once(DIR_FS_CATALOG.'system/core/MainFactory.inc.php'); require_once(DIR_FS_CATALOG.'system/core/MainAutoloader.inc.php'); require_once(DIR_FS_CATALOG.'system/core/ContentView.inc.php'); require_once(DIR_FS_CATALOG.'system/core/AjaxHandler.inc.php'); require_once(DIR_FS_CATALOG.'system/core/GMDataObject.inc.php'); require_once(DIR_FS_CATALOG.'system/core/GMDataObjectGroup.inc.php');
OK, aber dennoch geht die Überladung! Siehe EnvironmentHttpViewControllerRegistryFactory! Die hab ich mehrfach überladen und das funktioniert super! Steht hier auch am Beispiel des ModuleCenter beschrieben: http://developers.gambio.de/tutorials.html?v=2.7.2.0&p=modul-center
Das ist dann aber wieder ein anderes Verfahren der Überladung.... Kann man damit für ein Modul auch "Überladungsketten" (mehrere Overload-Klassen überladen die gleichen Methoden der Basisklasse) erzeugen, wie das mit der MainFactory geht? Sieht mir nicht so aus...
Die GXEngine initialisiert die überladbaren Objekte über die MainFactory. Damit sind also auch Überladungsketten möglich. Am Verfahren hat sich nichts geändert.
Wie genau sieht es aus mit usermod von html-Dateien wo die Originale von Gambio verändert wird? Beispiel Die Datei order_details.html habe ich durch eine order_details-USERMOD.html "ersetzt" und follgenden Inhalt hinterlegt HTML: <div class="order-wishlist col-xs-12 col-md-8" data-gambio-widget="customizer" data-customizer-page="cart"> ... <div class="row"> <div class="col-xs-12 col-md-4"> <a title="{$button.continue_shopping}" href="{$BUTTON_BACK_URL}" class="btn btn-default btn-block"> {$button.continue_shopping} </a> </div> <div class="col-xs-6 col-sm-4 col-sm-offset-4 col-md-3 col-md-offset-6 text-right"> </div> </div> </div> Wenn nun z.B. die JavaScripter von Gambio das Attribut Code: data-customizer-page="cart" nach Code: data-widget-page="cart" ändern, weil vielleicht die Beschreibung des Attributs passender zutrifft. Müsste ich in meiner -USERMOD Datei dieses auch anpassen, oder? Wo finde ich die "internen" Codeänderungen dokumentiert?
Hallo, ja, es ist korrekt, dass Änderungen in original Template-Dateien in USERMOD-Dateien nachgepflegt werden müssen. Es wird nicht jede Kleinigkeit an Änderungen dokumentiert. Größere Änderungen werden im Entwickler-Logbuch festgehalten, das du hier findest: https://tracker.gambio-server.net/p...bject&c[]=assigned_to&c[]=updated_on&c[]=tags In Updates liegt immer eine Dateiliste bei. Diese kann genutzt werden, um zu sehen, ob USERMOD-Dateien von Änderungen betroffen sind. Zum Vergleich der Dateien bietet sich WinMerge an, um schnell Unterschiede zu sehen und in den USERMOD zu übernehmen.
Ja, auch. Es ist by the way geplant nochmal weitere Möglichkeiten zu schaffen in Honeygrid als Template strukturell einzugreifen, aber gut Ding will manchmal etwas Weile haben.
Hmm.. wenn ihr es in den nächsten Monaten/Jahren wirklich schafft eine Art "Content-Builder" umzusetzen, wo man sein Shop quasi nach einem Baukastenprinzip zusammen schustert, dann wären viele "Otto Normalverbraucher" glaube ich sehr erleichtert ... ...und keiner braucht mehr die Nerds in seinem Unternehmen