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>xanka@gmail.com</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

Antworten:


18

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


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 =


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.


Vielen Dank für den Tipp type = "html". Ich habe gerade einen kühlen Fehler gemacht. Es ruiniert ungefähr eine halbe Stunde!
DRAJI
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.