GX-Bug #68427
geschlossenThemeContentView doesn't use the MainFactory to load Smarty / ThemeContentView nutzt nicht die MainFactory, um Smarty zu laden
0%
ThemeContentView benutzt jetzt die MainFactory, um Smarty zu laden.
Beschreibung
In the Theme System you cannot overload Smarty because the ThemeContentView class creates Smarty directly (without MainFactory). This means that overloading of the Smarty class is not possible.
Steps to reproduce:
- Create an overload of GXSmarty
- Activate a theme
- Open the shop frontend
- Check, if the overload is loaded
Expected behavior: The overload is loaded
Actual behavior: The overload isn't loaded
Solution: Use the MainFactory to load the GXSmarty class
GXMainComponents/View/ThemeContentViews/core/ThemeContentView.inc.php
$this->v_coo_smarty = MainFactory::create('GXSmarty');
========================================================================================
Im Theme System kann man Smarty nicht überladen, weil die ThemeContentView Klasse Smarty direkt erzeugt (ohne MainFactory). Dadurch ist kein Overloading der Smarty Klasse möglich.
Schritte zum Reproduzieren:
- Erzeuge einen Overload der GXSmarty Klasse
- Aktiviere ein Theme
- Öffne den Shopbereich
- Prüfe, ob der Overload geladen wird
Erwartetes Verhalten: Der Overload wird geladen
Aktuelles Verhalten: Der Overload wird nicht geladen
Lösung: Verwende die MainFactory, um die GXSmarty Klasse zu laden
GXMainComponents/View/ThemeContentViews/core/ThemeContentView.inc.php
$this->v_coo_smarty = MainFactory::create('GXSmarty');