Block im Template anzeigen

Hierfür benötigt man als erstes ein Template-File, dieses erstellt man sich einfach in seinem module unter

 <VendorName> > <ModuleName> > view > frontend > templates > email > <tempalte.phtml>

In unserem Fall haben wir die Fronius Kundennummer hinzugefügt:

EmailCustomerNumberTemplate

 

In diesem Template kann man zu Testzwecken erstmal ein:

<?php
echo "Hello, I'm a PHP template";
?>

einfügen. (Später muss man hier dann auf die Variable zugreifen, welche bei uns wie folgt aussah:

<?php
$objm = \Magento\Framework\App\ObjectManager::getInstance();
$customerSession = $objm->get('Magento\Customer\Model\Session');
if($customerSession->isLoggedIn())
{

$froniusCustomerNumber = $customerSession->getCustomer()->getFroniuscustomernumber();


/*$customerRepository = $objm
->get('\Magento\Customer\Api\CustomerRepositoryInterface');
$customer = $customerRepository->getById(11);
$froniusCustomerNumber = $customer->getCustomAttribute('froniuscustomernumber');*/

/*$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$customerObj = $objectManager->create('Magento\Customer\Model\Customer')->getCollection();
foreach ($customerObj as $customerObjdata) {

$customermodel = $objectManager->create('Magento\Customer\Model\Customer');
$customerData = $customermodel->getDataModel();
$customerData->setId($customerObjdata->getData('entity_id'));
$customerData->setCustomAttribute('froniuscustomernumber', 132);
$customermodel->updateData($customerData);

$customerResource = $objectManager->create('\Magento\Customer\Model\ResourceModel\CustomerFactory')->create();
$customerResource->saveAttribute($customermodel, 'froniuscustomernumber');
}*/
if($froniusCustomerNumber == ""){
echo '-';
}else{
echo $froniusCustomerNumber;
}
}
?>

Als nächstes müssen wir nur noch im jeweiligen Email-Template unser .phtml anzeigen. Dies kann wie folt gelöst werden.

Als erstes müssen wir im Backend unter Marketing > Email Templates unser gewünschtes template auswählen oder ein neues erstellen. Hier fügen wir dann folgendes ein:

{{block class='Magento\\Framework\\View\\Element\\Template' area='frontend' template='<Vendor Name>_<Module Name>::email/template.phtml'}}

und schon sind wir fertig!

Natürlich ist noch viel mehr möglich auf das ich hier jetzt speziell nicht eingehe!

More Information

Falls man den Confirmation Link ändern will (Not tested)

Confirmation Link ändern