Liebe Community,
ich möchte für unseren Onlineshop die Newsletter-Anmeldung ein wenig erweitern. Wir möchten Softwarelizenzen verkaufen und als Anreiz für eine Anmeldung für den Newsletter eine 14-tägige Testlizenz geben. Den Lizenzcode möchte ich in der Anmeldungs-Email unterbringen (also in die Email-Vorlage "Freischalt E-Mail nach Newsletter-Anmeldung"). Idealerweise möchte ich in die Vorlage eine neue Eigenschaft schreiben, z.B.
Leider geht es so nicht.
Folgende Herangehensweise hat nicht funktioniert:
Wenn mich meine angestaubten PHP-Kenntnnisse nicht täuschen wird $recipient, was auch als Eingabe für die Template-Formatierung dient, per Value und nicht per Reference reingegeben. Daher wirken sich Änderungen nicht auf die hereingegebene Variable aus. Ich vermute, es würde funktionieren, wenn man oben zitierte Zeilen ändert durch
Dafür müsste ich aber im JTL- Shop-Code rumschreiben, worauf ich lieber verzichte.
Habe es naiv probiert, in meiner Hookmethode einfach zu schreiben
und es dann in der Emailvorlage versucht mit
Jedoch wird von der Smarty-Kompilierung das $_SESSION-Objekt (vernünftigerweise?) nicht mit erfasst.
Fällt euch irgendeine Möglichkeit ein, Variablen innerhalb des Hooks zu generieren, so dass sie innerhalb der Vorlagen-Kompilierung sichtbar sind?
Vielen Dank schon mal für die Hilfe!
Joachim
ich möchte für unseren Onlineshop die Newsletter-Anmeldung ein wenig erweitern. Wir möchten Softwarelizenzen verkaufen und als Anreiz für eine Anmeldung für den Newsletter eine 14-tägige Testlizenz geben. Den Lizenzcode möchte ich in der Anmeldungs-Email unterbringen (also in die Email-Vorlage "Freischalt E-Mail nach Newsletter-Anmeldung"). Idealerweise möchte ich in die Vorlage eine neue Eigenschaft schreiben, z.B.
Code:
"Hier ist deine Testlizenz {$NewsletterEmpfaenger->cTestLizenz}".
Folgende Herangehensweise hat nicht funktioniert:
- Neues Plugin erstellen und einen Hook definieren für ID37 ("HOOK_NEWSLETTER_PAGE_EMPFAENGEREINTRAGEN")
- Bei Ausführung des Hooks ausführen: $args_arr['oNewsletterEmpfaenger']->cTestLizenz = 'Hier die Lizenz';
Code:
\executeHook(\HOOK_NEWSLETTER_PAGE_EMPFAENGEREINTRAGEN, [
'oNewsletterEmpfaenger' => $recipient
]);
Code:
\executeHook(\HOOK_NEWSLETTER_PAGE_EMPFAENGEREINTRAGEN, [
'oNewsletterEmpfaenger' => &$recipient
]);
Dafür müsste ich aber im JTL- Shop-Code rumschreiben, worauf ich lieber verzichte.
Habe es naiv probiert, in meiner Hookmethode einfach zu schreiben
Code:
$_SESSION['Testlizenz'] = 'Meine Lizenz';
Code:
"Hier ist deine Testlizenz {$_SESSION['Testlizenz']}".
Fällt euch irgendeine Möglichkeit ein, Variablen innerhalb des Hooks zu generieren, so dass sie innerhalb der Vorlagen-Kompilierung sichtbar sind?
Vielen Dank schon mal für die Hilfe!
Joachim