kurze Frage:
wie funktioniert das Übergeben von Daten an das Template mit der EE4? Ein
$this->_aViewData[‘email’] = $this->oxuser__oxusername->value;
in der Klasse/Funktion oxUser/createUser() funktioniert so leider nicht wie gewünscht.
Im Template wollte ich auf die Variable [{$email}] zugreifen.
$this->_aViewData[‘email’] = $this->oxuser__oxusername->value;
Das schreibst Du bitte (per Modul!) in die zum anzupassenden Template korrespondierende view Klasse.
In welchem Template soll denn auf $email zugegriffen werden?
Gruß
Marco Steinhäuser
Community Operator
OXID eSales AG
Also geht das aus der Core-Klasse herraus garnicht?
Leider scheint es auch nicht aus einer CMP Klasse zu funktionieren.
Wollte es in der cmp_user mit einbringen, weil ich da in der Funktion “registerUser()” den User nach dem registrieren auch wieder auslogge (natürlich alles mittels Module)
In “register_success.tpl” soll stehen:
“Es wurde eine E-Mail an “$email” gesendet, über der Sie Ihr Konto freischalten können”
(Dementsprechend ist der User nicht mehr eingeloggt)
das Übergeben von Smarty-Variablen aus Core-Klassen heraus entspricht nicht der MVC-Architektur, die dem Oxid-Shop zugrunde liegt. Das passiert in den aufrufenden View-Klassen.
Die Übergabe in einer CMP-Klasse muß so aussehen:
$this->_oParent->_aViewData[‘varname’] = …;
Daniel Seifert
D³ Data Development - Thomas Dartsch
OXID Premium Solution- & Technologiepartnerhttp://www.shopmodule.com
Wenn Du die Smarty-Variable in einer Component-Klasse (z.B. oxcmp_basket) nach dem genannten Schema belegst, solltest Du die in den Templates zur Verfügung haben. Andere Bedingungen sind grundsätzlich nicht vorhanden. Ich setze mal einfach voraus, daß der Abschnitt in Deiner Klasse auch ausgeführt wird und nicht wegen anderen Umständen übersprungen wird.
Sollte das nicht helfen, ist ein detailierteres Beispiel für die Hilfestellung vorteilhaft.
Daniel Seifert
D³ Data Development - Thomas Dartsch
OXID Premium Solution- & Technologiepartnerhttp://www.shopmodule.com
Ja, die Abfrage wird ausgeführt… das habe ich mehr mals erfolgreich getestet.
Ich habe es jetzt in einer anderen Viewklasse probiert, und zwar in der “register”, dort in der Funktion render() funktioniert es problemlos.
Die Lösung finde ich zwar nicht so schön, da ich mehrere Klassen überlagern muss, aber es ist eine Lösung.
Ich weiß ja nicht wie es ausschaut mit “Quelltext-Abschnitte hier veröffentlichen”, ansonsten würde ich natürlich gerne mein kleines Modul hier posten, um auch zu sehen, wo ich evt. einen Fehler gemacht habe.
Wenn Du berechtigte Bedenken bei der Veröffentlichung hast (EE4 ist ja nun doch nicht für jeden offen), geht’s ja immer noch per Mail. Die Diskussion können wir ja trotzdem hier weiter öffentlich führen.
Daniel Seifert
D³ Data Development - Thomas Dartsch
OXID Premium Solution- & Technologiepartnerhttp://www.shopmodule.com