Ordner-Struktur GXEngine

Thema wurde von Steffen (indiv-style.de), 11. März 2016 erstellt.

  1. Anonymous

    Anonymous Erfahrener Benutzer

    Bedeutet ich müsste den "EnvironmentHttpViewControllerRegistryFactory" für jeden Eintrag überladen?
     
  2. Moritz (Gambio)

    Moritz (Gambio) Administrator

    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');
        
    // ...
    }
     
  3. Anonymous

    Anonymous Erfahrener Benutzer

    Ah, alles klar... so langsam verstehe ich, wie eure graue Zellen funken :D
     
  4. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Ich würde sagen, der Funken ist übergesprungen :D.
     
  5. Avenger

    Avenger G-WARD 2012/13/14/15

    Kann man die GXEngine-Klassen nicht überladbar machen?

    Also die GXengine erst laden, nachdem die MainFactory aktiv ist?
     
  6. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Aber das ist doch so!!!

    gxengine_classload.jpg
     
  7. Avenger

    Avenger G-WARD 2012/13/14/15

    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');
     
  8. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

  9. Avenger

    Avenger G-WARD 2012/13/14/15

    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...
     
  10. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Die GXEngine initialisiert die überladbaren Objekte über die MainFactory. Damit sind also auch Überladungsketten möglich. Am Verfahren hat sich nichts geändert.
     
  11. Anonymous

    Anonymous Erfahrener Benutzer

    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">
            &nbsp;
        </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?
     
  12. Moritz (Gambio)

    Moritz (Gambio) Administrator

    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.
     
  13. Anonymous

    Anonymous Erfahrener Benutzer


    PhpStorms Sync reicht dafür aus denke ich :)
     
  14. Wilken (Gambio)

    Wilken (Gambio) Erfahrener Benutzer

    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.
     
  15. Anonymous

    Anonymous Erfahrener Benutzer

    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 :D...

    ...und keiner braucht mehr die Nerds in seinem Unternehmen :(