Magento 1&2 – Statischen Block in Transaktionsmail einbinden

Ich dachte eigentlich, dass ich zumindest für Magento 1 schon lange einen Beitrag dazu geschrieben habe, wie man einen Statischen Block in eine Transaktionsmail oder genauer in ein E-Mail-Template einbindet, um beispielsweise AGB, Widerrufsbedingungen und/oder Datenschutzinformationen an einer zentralen Stelle hat und nicht an verschiedenen Stellen im Shop ändern muss. Nicht nur die Arbeitserleichterung sondern vor allem das Risiko eine Stelle zu vergessen ist nicht zu vernachlässigen.

Ich hatte bereits einen Beitrag zum Thema “Statischen Block in CMS / PHTML-Seite einbinden” geschrieben, der hier auch helfen kann, um einen Block wie z.B. Widerruf nur an einer Stelle pflegen zu müssen und CMS-Seite etc. erhalten die Ändeurngen automatisch über den Block-Verweis.

Nun soll es aber darum gehen, den Statischen Block direkt in das Template bspw. der Bestellbestätigungs-Mail einzubinden, so dass immer automatisch der aktuelle Inhalt dieses Block an die Mail angefügt wird.

In Magento 1 musste man hierzu nur folgenden Code an der gewünschten Stelle in das Mail-Template einfügen:

{{block type="cms/block" block_id="agb"}}

Dies konnte man entweder in die individuell (im Backend) erstellten Vorlagen einfügen, die dann für den Versand verwendet wurden oder aber auch direkt in der betreffenden .html-Datei (Template-Vorlage, die standardmäßig verwendet wird, wenn man keine spezielle Vorlage im Backend erstellt) wie bspw. die order_new.html unter app/locale/de_DE/template/email/sales.

In Magento 2 geht dies -Überraschung- nicht mehr. Jedoch ist es erfreulicherweise nur ein etwas geänderter Code, der eingebunden werden muss. Dieser lautet im Fall unserer AGB dann

{{block class="Magento\\Cms\\Block\\Block" area="frontend" block_id="agb"}}

Mit diesem wird der Inhalt des Blocks “agb” dann an die betreffende Mail angefügt. Auch hier hat man die Möglichkeit dies entweder in der im Backend erstellten und dann über die Konfiguration zugewiesene Vorlage einzufügen oder direkt in die .html-Datei. Dies ist hingegen ein wenig schwieriger, da die Vorlagen nun nicht mehr immer an derselben Stelle zu finden sind. In M2 sollte sie bspw. im eigenen Template hinterlegt werden. Dies KÖNNTE zum Beispiel ein solcher Pfad sein app/design/frontend/[NAME]/[NAME2]/Magento_Sales/email aber eben auch viel anderes. Die anderen Vorlagen findet man z.B. unter vendor/magento/module-sales/view/frontend/email oder vendor/magento/theme-frontend-luma/Magento_Sales/email

Published by Covos

Seit 2009 arbeite ich nun intensiv mit Magento. Begonnen habe ich mit der Erstellung und dem Betrieb von B2C-Shops. Ausgeweitet wurde dies durch meine Tätigkeit im Logistik-Sektor. Hieraus entstanden erste spezialisierte B2E-Systeme. Heute arbeite ich tag-täglich mit spannenden B2C-, B2B- und B2E-Projekten und berichte in diesem Blog über Herausforderungen und gebe Insider-Tipps.

Leave a Reply

Your email address will not be published. Required fields are marked *