Hallo zusammen,
ich bin gerade dabei ein Plugin zu schreiben, welches ein E-Mail Template anlegt.
Die Funktion an sich sieht ca. so aus und funktioniert auch problemlos:
protected function createMailTemplate()
{
$em = $this->container->get('models');
if(!$repository) {
$repository = $em->getRepository(Mail::class);
}
$mail = $repository->findOneBy(['name' => 'sMEINEMAILTEMPLATE']);
if(!$mail) {
$content = $this->getHtmlMailContent();
$mail = new Mail();
$mail->setName('sMEINEMAILTEMPLATE');
$mail->setFromMail('{config name=mail}');
$mail->setFromName('{config name=shopName}');
$mail->setSubject("Hier kommt der Titel!");
$mail->setContentHtml($content);
$mail->setIsHtml(1);
$mail->setMailtype(Mail::MAILTYPE_SYSTEM);
$em->persist($mail);
$em->flush($mail);
}
}
Das Problem habe ich nun im Content selbst.
In meiner $content Variable steht irgendwo im Text sowas wie folgendes:
protected function getHtmlMailContent() [
$content = "[...]
Hier klicken
[...]";
return $content;
}
Nun wird aber die $sShopURL Variable scheinbar zu früh “verarbeitet” da im Backend anschließend nur noch das “/MeinPluginController” im HREF steht.
Hier sollte aber natürlich {sShopURL} stehen.
Ich habe auch schon versucht das Zeichen in Unicode als $ anzugeben, aber auch hier natürlich nicht der gewünschte Effekt.
Jetzt stellt sich mir die Frage, kann ich überhaupt direkt beim Erstellen des E-Mail Templates (innerhalb meines Plugins) die entsprechenden E-Mail Variablen verwenden damit die direkt dort stehen wo sie sollen und wenn ja, was mache ich falsch ? Oder bleibt mir nur die entsprechenden Variablen übers Backend nachzupflegen, nachdem das E-Mail Template vom Plugin erstellt wurde?
Vielen Dank.