Wie lassen sich bei Shopware 5 in einem Plugin Variablen an ein E-Mail-Template übergeben? Ich habe den context an die createMail()-Funktion übergeben, aber diese Variablen werden nicht im E-Mail-Template ausgegeben.
Mein Code sieht aktuell so aus:
public static function getSubscribedEvents() {
return array(
'Shopware_CronJob_CheckCustomerGroup' => 'onCronjobExecute'
);
}
/**
* Checks the eligible customer discount group for each customer
*
* @param Shopware_Components_Cron_CronJob $job
*/
public function onCronjobExecute(\Shopware_Components_Cron_CronJob $job) {
/** send a mail with shopware mail template */
$mailTemplate = $this->container->get('models')->getRepository(Mail::class)->findOneBy(['name' => "CustomerGroupChange"]);
if (!$mailTemplate instanceof Mail) {
return;
}
try {
$mail = Shopware()->TemplateMail()->createMail(
$mailTemplate->getName(),
[
'sTotal' => $total,
'sTotallyNot' => 'lol',
],
Shopware()->Shop()
);
$mail->addTo("lorem@ipsum.do");
$mail->send();
} catch (Exception $e) {
$this->logger->addError($e->getMessage());
}
}
Im E-Mail-Template „CustomerGroupChange“ verwende ich die o.g. Variablen so: {$sTotallyNot} {$sTotal} - Leider erscheint da bei mir gar nichts, selbst der lol-String nicht.
Wie wende ich den context richtig an?