GX-Bug #69650
geschlossenClasses that exist more than once can't be specifically overloaded | Klassen, die doppelt im Shop vorkommen, lassen sich nicht mehr spezifisch überladen
0%
Das Überladen von Klassen, die doppelt existieren, funktioniert wieder zuverlässig
Beschreibung
The classes language, messageStack, order, shoppingCart and splitPageResults exist in different variants twice in the store (for Gambio Admin and Gambio Shop). Overloads for the variant in the Gambio Admin then have an "Admin-" prefix in the folder name of the overload, e.g. GXModules/GambioTest/Test/Admin/Overloads/Admin-shoppingCart/TestBackend.inc.php
. Since at least GX 4.5.1 there is the problem that in the Gambio Admin the overloads that are only for the Gambio Shop are loaded, so in the Gambio Admin for the shoppingCart class a GXModules/GambioTest/Test/Shop/Overloads/shoppingCart/TestFrontend.inc.php
overload is loaded, although this should not be the case here.
The attached test script demonstrates the error.
Expected result:
overload-test.php output: TestFrontend called
overload-test.php?admin output: TestBackend called
Actual result:
overload-test.php output: TestFrontend called
overload-test.php?admin output: TestFrontend called
--
Die Klassen language, messageStack, order, shoppingCart und splitPageResults existieren in unterschiedlichen Varianten zwei Mal im Shop (für Gambio Admin und Gambio Shop). Overloads für die Variante im Gambio Admin haben dann im Ordnernamen des Overloads einen "Admin-"-Präfix, also z. B. GXModules/GambioTest/Test/Admin/Overloads/Admin-shoppingCart/TestBackend.inc.php
. Seit mindestens GX 4.5.1 besteht das Problem, dass der Shop aber auch im Gambio Admin die Overloads lädt, die nur für den Gambio Shop sind, also wird im Gambio Admin für die shoppingCart-Klasse ein GXModules/GambioTest/Test/Shop/Overloads/shoppingCart/TestFrontend.inc.php
Overload geladen, obwohl das hier nicht der Fall sein dürfte.
Das angehängte Testscript demonstriert den Fehler.
Erwartetes Ergebnis:
overload-test.php output: TestFrontend called
overload-test.php?admin output: TestBackend called
Tatsächliches Ergebnis:
overload-test.php output: TestFrontend called
overload-test.php?admin output: TestFrontend called
Dateien
Von Moritz Bunjes vor fast 3 Jahren aktualisiert
- Status wurde von In Bearbeitung zu Testing geändert
- Zugewiesen an
Moritz Bunjeswurde gelöscht
Von Daniel Wu vor fast 3 Jahren aktualisiert
- Thema wurde von Klassen, die doppelt im Shop vorkommen, lassen sich nicht mehr spezifisch überladen zu Classes that exist more than once can't be specifically overloaded | Klassen, die doppelt im Shop vorkommen, lassen sich nicht mehr spezifisch überladen geändert
Von Marvin Muxfeld vor mehr als 2 Jahren aktualisiert
- Zugewiesen an wurde auf Marvin Muxfeld gesetzt
Von Marvin Muxfeld vor mehr als 2 Jahren aktualisiert
- Zugewiesen an
Marvin Muxfeldwurde gelöscht
Von Mirko Janssen vor mehr als 2 Jahren aktualisiert
- Zugewiesen an wurde auf Mirko Janssen gesetzt
Von Mirko Janssen vor mehr als 2 Jahren aktualisiert
- Status wurde von Testing zu Erledigt geändert