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:
Die Zeile, wo er im Shop aussteigt ist:
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:
Damit funktioniert alles wieder.
Was mache ich falsch hier? Woran könnte es liegen?
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();
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";
}
Was mache ich falsch hier? Woran könnte es liegen?