In diesem alten Thema ist zu lesen, wie man einen Kündigen-Link im Newsletter unterbringt. Nur leider funktioniert das nur, wenn man den SimpleToken ##email## direkt in den Content (Text/HTML) des Newsletters schreibt. Im Template funktionieren SimpleTokens (und auch InsertTags) nicht. Leider ist mein Newsletter so aufgebaut, das im Template das ganze Drumherum (Kopf, Fuß mit Impressum und Kündigen-Link usw) schon drin ist und der Content wirklich nur den eigentlichen Inhalt liefert.
Die Philosophie im Newsletter-Modul scheint aber eine andere: Im Template steht nur
HTML-Code:
<html>
<head>
...
</head>
<body>
<?= $this->body ?>
</body>
</html>
Mein Template ist da wesentlich umfangreicher. Heruntergebrochenes Beispiel:
HTML-Code:
<html>
<head>
...
</head>
<body>
<table>
<tr><td>Kopf</td></tr>
<tr><td><?= $this->body ?></td></tr>
<tr><td>Impressum, 1996 - {{date::Y}}, <a href="{{env::url}}/abmelden.html?email=##email##">Kündigen-Link</a></td></tr>
</table>
</body>
</html>
Schaut man in die Newsletter.php fällt schnell auf, das das Template selbst nicht geparst wird. SimpleTokens (im Beispiel: ##email##) und Inserttags (im Beispiel: date) werden nicht ersetzt. Im Content, der durch $this->body in das Template eingetragen wird, werden dafür alle Tokens und Tags ersetzt.
Gibt es eine einfache Lösung? Oder muß ich den Newsletter noch durch den sendNewsletter-Hook jagen, um die Tokens/Tags zu ersetzen?