Hallo,
ich erhalte einen Fatal Error, wenn ich in meinem Modul die [B]getConfigParam[/B] Funktion von [B]oxconfig[/B] überschreibe. Verwendete OXID-Version ist [B]4.9.3[/B].
Meine Funktion, welche die ursprüngliche Funktion überschreibt, sieht so aus:
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:
$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:
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?