ich steh vor folgendem Problem.
Ich möchte einen Wert mittels Controller an ein Template weitergeben ohne ihn Zwangsläufig in der DB zu speichern.
Dazu habe ich mir angeschaut, was Oxid da so bereitstellt und diese beiden Funktionen gefunden.
Im Controller dieser Aufruf: $this->getViewConfig()->setViewConfigParam('attribute', $value);
Im Template dieser Aufruf: [{ $oViewConf->getViewConfigParam("attribute") }]
Klappt leider nicht.
Dann habe ich versucht die Variable mittels Get Methode des Controllers im Template auszugeben.
[{ $oView->getAttribute() }]
dann bekomme ich, Para:Function ‘getAttribute’ does not exist or is not accessible! (oxUBase)
Methode ist public und die Controller Klasse von oxUBase abgeleitet.
Wer eine Idee woran es scheitert ?
Und welches Template, könnte z.B. sein dass das Template ein Widget mit eigenem Controller ist.
Viewconfig ist auch unzuverlässig wg. diesem Bug: https://bugs.oxid-esales.com/view.php?id=4773
Besser direkt mit $this->_aViewData[“variable”] übergeben.
Vielen Dank, setzen mit $this->_aViewData[“variable”] und Ausgabe im Template mit [{$variable}] klappt sehr gut.
Hatte den Aufruf von setViewConfigParam in einer anderen Funktion als die render() genutzt.
Und die Funktion wurde aufgerufen, das war gecheckt.
Kann auch mit $this->getViewConfig()->getViewConfigParam("attribute") drauf zugreifen, nur die Ausgabe im Template selbst klappt nicht.