Neu Per Plugin Felder für das Newsletter-Anmeldungs-Template hinzufügen

jbank

Neues Mitglied
18. Juli 2024
2
0
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.
Code:
"Hier ist deine Testlizenz {$NewsletterEmpfaenger->cTestLizenz}".
Leider geht es so nicht.
Folgende Herangehensweise hat nicht funktioniert:
  1. Neues Plugin erstellen und einen Hook definieren für ID37 ("HOOK_NEWSLETTER_PAGE_EMPFAENGEREINTRAGEN")
  2. Bei Ausführung des Hooks ausführen: $args_arr['oNewsletterEmpfaenger']->cTestLizenz = 'Hier die Lizenz';
Der Grund offenbart sich nach kurzer Suche in includes/src/Newsletter/Controller.php:
Code:
\executeHook(\HOOK_NEWSLETTER_PAGE_EMPFAENGEREINTRAGEN, [
    'oNewsletterEmpfaenger' => $recipient
]);
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
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';
und es dann in der Emailvorlage versucht mit
Code:
"Hier ist deine Testlizenz {$_SESSION['Testlizenz']}".
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
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.628
2.685
Berlin
Firma
css-umsetzung
{$smarty.session.Testlizenz}

Aber es wird auch andere Wege geben
Du könntest das auch per assign im Template zur Verfügung stellen oder über das Template eine erstellte smarty Funktion aufrufen...
 

jbank

Neues Mitglied
18. Juli 2024
2
0
Hallo,
besten Dank für die schnelle Antwort. Funktioniert wunderbar!
Falls jemand über diesen Thread nochmal stolpert: Legt man im PHP-Hook-Script eine Sessionvariable fest, wie z.B. $_SESSION['TestVariable'] hat man innerhalb der Emailvorlagen Zugriff darauf mittels {$smarty.session.TestVariable}. Das Hookscript muss natürlich innerhalb derselben Session und vor der Instanziierung des Email-Templates zu einer echten Mail ausgeführt werden.
Fetzt.

Viele Grüße
Joachim
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu JTL-Shop 5.5 – „Rechnung nicht beilegen“ per Workflow anhand der Auftragsposition erkennen User helfen Usern - Fragen zu JTL-Wawi 1
Neu Kunde hat über POS per Karte angezahlt. Wie Buchung der Restzahlung (BON)? Allgemeine Fragen zu JTL-POS 1
Neu XML Order Vorlage - EK netto nicht per Variable Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 8
Neu Viele Opos nach Export per JTL2Datev im Datev User helfen Usern 5
Neu Lister 2.0 per Ameise bedienen nicht möglich oder? Amazon-Lister - Ideen, Lob und Kritik 0
Neu Lagerkommentar 1 per Workflow füllen User helfen Usern - Fragen zu JTL-Wawi 6
Labels setzen per v1/v2/GraphQL? JTL-Wawi 2.0 3
Neu JTL-Wawi Shopabgleich per E-Mail überwachen (Warnungen & Fehler) Onlineshop-Anbindung 1
Exportvorlage: Auftrag nur Artikel die per Dropshipping verfügbar sind in Datei schreiben JTL-Wawi 1.11 4
Neu JTL → Shopify Connector: MappingTablesException / „Endpoint id is empty“ – betroffene Artikel aus Logs per SQL finden Shopify-Connector 2
Neu Plugin: Infinite Scroll / „Mehr laden“ für JTL-Shop 5 – einmalige Lizenz, kein Abo Plugins für JTL-Shop 0
Beantwortet Plugin über Pluginmanager deinstalliert – Einträge in tpluginmigration verblieben – einfach löschen? Plugins für JTL-Shop 1
Neu PlugIn: GLS Privatkundenlabels sollen über den Packtisch ausgegeben können / Schnittstelle zu GLS Privat Dienstleistung, Jobs und Ähnliches 0
Neu 💚 Plugin: DZM Bonus Plus - das Treueprogramm für deinen JTL-Shop Plugins für JTL-Shop 12
Neu Stripe plugin mit JTL SHOP Error 500 Plugins für JTL-Shop 2
Neu css Einstellungen Paypal Plugin von JTL JTL-Shop - Fehler und Bugs 1
Neu 💚 Plugin: DZM Agentic Plus - dein Shop wird für KI-Agenten lesbar und abfragbar Plugins für JTL-Shop 0
Neu JTL-Shop 5 Backup Professional Plugin Plugins für JTL-Shop 0
Neu Plugin trotz Hinweis Kompatibel mit JTL-Shop bis 5.6.* auch unter 5.7.2 nutzen Plugins für JTL-Shop 2
Neu Mail mit Plugin zum testen der Sicherheitslücke echt? Allgemeine Fragen zu JTL-Shop 47
Beantwortet [Shop 5.7.2 / Wawi 2.0.5] GPSR-Daten werden am Artikel nicht angezeigt trotz korrekter Übertragung und installiertem Plugin Allgemeine Fragen zu JTL-Shop 1
Neu JTL Shop Plugin - BD Automatisierter Widerruf (Von Händler für Händler - Schluss mit Mail-Chaos & Spam-Sorgen!) Plugins für JTL-Shop 0
Neu Plugin: JTL Exportformat Google Shopping gibt <g:google_product_category> unter Shop 5.7.1 und Wawi 2.0.4 nicht aus Plugins für JTL-Shop 1
Freie Felder in der Artikelliste anzeigen JTL-Wawi 2.0 3

Ähnliche Themen