Wie kann ich den HTML-Datentyp in der Vorlage E-Mail Magento2 rendern?

13

Ich habe eine E-Mail-Vorlage in Magento 2: email-template.html

{{template config_path="design/email/header_template"}}

{{trans "%body" body=$data.body}}

{{template config_path="design/email/footer_template"}} 

Aber in Variable $data.bodyist Code HTML kein Text:

$data.body = `
<table width="100%"> 
  <tr> 
     <td>Name: </td> <td>Join Xanka </td>
  </tr> 
  <tr> <td>Email: </td> <td>[email protected]</td> </tr>
  {{depend Test Send}} 
  <tr> <td>Subject: </td> <td>Test Send</td> </tr>
  {{/depend}} 
  <tr> <td>Message: </td> <td>we try send email use to test.</td> </tr>
</table>

Also, wie Sie Code-HTML rendern, wenn Sie eine E-Mail senden. Vielen Dank!

Dies ist das Ergebnis, wenn der Entschuldigungscode print_r($this->_message->getBody());in sendMessage()Funktion ist:

Bildbeschreibung hier eingeben

xanka
quelle

Antworten:

18

Ich wechsle {{trans "%body" body=$data.body}}zu {{trans "%body" body=$data.body|raw}}. es macht Erfolg.

xanka
quelle
8

Verwenden Sie '| raw' mit Ihrer Param-Variable.

Beispiel: '{{var data | raw}}'

Dabei handelt es sich bei den Daten um eine Param-Variable, die an die Vorlage übergeben wurde und einen Wert enthält, der HTML-Code ist. data =

Bhargav Joshi
quelle
Vielen Dank, es ist sehr nützlich
Pradip Garchar
5

Zusammen mit {{trans "%body" body=$data.body}}zu {{trans "%body" body=$data.body|raw}}.

Erinnert sich ändern , type="text"um type="html"in email_templates.xml, sonst werden Sie einfache HTML in Ihre E - Mails bekommen.

Imran Zahoor
quelle
Vielen Dank für den Tipp type = "html". Ich habe gerade einen kühlen Fehler gemacht. Es ruiniert ungefähr eine halbe Stunde!
DRAJI