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.587
2.671
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 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 [Suche 5 Beta-Tester] KI generiert JTL Shop 5 Templates per Beschreibung – kostenlos testen Templates für JTL-Shop 7
Neu Werte erhöhen per Workflow User helfen Usern - Fragen zu JTL-Wawi 4
Amazon Rechnungslayout geändert, per IDU wird trotzdem die alte Vorlage hochgeladen JTL-Wawi 1.9 2
In Diskussion Ort mit OT per Workflow bereinigen JTL-Workflows - Ideen, Lob und Kritik 3
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
Neu Seller2Go – Mobile App & JTL-Plugin für Bestellungen, Support und Produktmanagement Plugins für JTL-Shop 0
Neu PayPal Plugin wirft Fehler auf einmal wegen telefonnummer JTL-Shop - Fehler und Bugs 3
Neu Neues Plugin: Erweiterter Widerrufsbutton für JTL-Shop Plugins für JTL-Shop 9
Neu Plugin Preisvorschlag Plugins für JTL-Shop 6
Neu Plugin Allgemeine Fragen zu JTL-POS 1
Neu Betatester gesucht - Plugin: Geizhals Basket Tracking inkl. EMID Übermittlung Plugins für JTL-Shop 0
Freie Felder in der Artikelliste anzeigen JTL-Wawi 2.0 3
Neu Eigene Felder in ZUGFeRD integrieren User helfen Usern - Fragen zu JTL-Wawi 0
AboutYou keine Felder für GPSR Daten SCX-(Ninepoint)-Anbindungen 0
Neu Meta Felder Shopifyx JTL verbinden Shopify-Connector 8

Ähnliche Themen