Quantcast
Channel: OXID Community Forum - Bug-Verdacht
Viewing all articles
Browse latest Browse all 186

Fatal error: Class 'Smarty' not found nachdem ich getConfigParam von oxConfig überschrieben habe

$
0
0
Hallo,

ich erhalte einen Fatal Error, wenn ich in meinem Modul die getConfigParam Funktion von oxconfig überschreibe. Verwendete OXID-Version ist 4.9.3.

Meine Funktion, welche die ursprüngliche Funktion überschreibt, sieht so aus:

PHP Code:

public function getConfigParam($sName)
{
    if (
$sName == "sCustomTheme" && false === $this->_isHeaderThemeSet) {
        
        
// get according event category id based on current active category
        
$eventCategoryId $this->getActiveEventCategoryId();
        
        
// if one was found, assign variable to smarty
        
if (null !== $eventCategoryId) {
            
$oSmarty oxRegistry::get("oxUtilsView")->getSmarty();
            
$oSmarty->assign("insp_headerTheme"$this->getHeaderTheme($eventCategoryId));
            
$this->_isHeaderThemeSet true;
        }
    }
    return 
parent::getConfigParam($sName);



Die Zeile, wo er im Shop aussteigt ist:

PHP Code:

$oSmarty oxRegistry::get("oxUtilsView")->getSmarty(); 

Es sieht so aus, als kann man an der Stelle im OXID noch keine Smarty-Instanz bekommen, da die zugehörige Klasse nebst Datei noch nicht eingebunden wurde.

Ich konnte es lösen, indem ich die Klasse selbst einbinde, falls Smarty als Klasse noch nicht definiert wurde:

PHP Code:

if (false === class_exists("Smarty")) {
    require_once 
getShopBasePath() . "core/smarty/Smarty.class.php";


Damit funktioniert alles wieder.

Was mache ich falsch hier? Woran könnte es liegen?

Viewing all articles
Browse latest Browse all 186